2013-01-15 39 views
1

我在umbraco.then中創建了新的文檔類型,然後在內容中通過此文檔類型創建了一些節點。 我將設置一個新的搜索索引,以便找到設置新搜索索引的代碼。在umbraco中進行可選搜索

@* Get the search term from query string *@ 
@{var searchTerm = Request.QueryString["search"];} 
@{var results = ExamineManager.Instance.Search(searchTerm, true); } 

但我不知道如何限制只能在我的文檔類型中搜索的代碼。

回答

1

這有幾個步驟。

您將有:

  • 創建ISearchCriteria對象;
  • 從條件對象創建一個搜索表達式,包括docType別名作爲要搜索的字段;
  • 使用表達式進行搜索。

這可以被編碼爲:

var criteria = ExamineManager.Instance.CreateSearchCriteria(); 

var expression = criteria.Field("nodeTypeAlias", "yourDocTypeAlias") 
         .And() 
         .Field("nodeName", searchTerm); 

var results = ExamineManager.Instance.Search(expression.Compile()); 

這是可能的,因爲當一把umbraco發佈的節點,這樣可以節省節點的DOCTYPE別名搜索索引。

還有更多Examine documentation here。我還建議下載Luke這是一個獨立的工具,它可以讓你查看索引裏面的內容,以便看到Umbraco實際存儲的內容。