2013-03-23 147 views
1

我正在嘗試使用具有自定義索引的Sitecore搜索來過濾和搜索項目。帶自定義索引的Sitecore搜索

這些項目是產品評論,都存儲在一個單一的文件夾與ProductReview模板。

+ Reviews 
    - Sample Review 1 
    - Sample Review 2 
    - Sample Review 3 

用戶將能夠按類別,子類別和按產品名稱進行搜索。因此,表單看起來類似於:

Category:  [ Drop Down ] 
Sub Category: [ Drop Down ] 
Product name: [ Single line of Text ] 

[ Search Button ] 

我在找到用於定義索引的文檔很細。我試圖設置具有以下屬性的索引。

  • 索引Web數據庫
  • 應該只包括三個字段,因爲他們是我的一切需要根據審查模板會被索引
  • 只有項目
  • 兩個類別字段唐「T需要被標記化
  • 您可以在類別字段篩選

我不知道如果我需要一個定製的分析器或DatabaseCrawler和我公頃我不會考慮製作一個。

這是我到目前爲止,但我還沒有產生一個工作指標尚未:

<index id="reviews" type="Sitecore.Search.Index, Sitecore.Kernel"> 

    <param desc="name">$(id)</param> 
    <param desc="folder">reviews</param> 
    <Analyzer ref="search/analyzer" /> 

    <include hint="list:IncludeField"> 
     <!-- Category --> 
     <fieldId>Category</fieldId> 

     <!-- Sub Category --> 
     <fieldId>Sub Category</fieldId> 

     <!-- Product Name --> 
     <fieldId>Product Name</fieldId> 

    </include> 

    <locations hint="list:AddCrawler"> 
     <web type="Sitecore.Search.Crawlers.DatabaseCrawler, Sitecore.Kernel"> 
      <Database>web</Database> 

      <!-- {GUID} --> 
      <Root>{GUID}</Root> 

      <Tags>web reviews</Tags> 
      <IndexAllFields>false</IndexAllFields> 

      <templates hint="list:AddTemplate"> 

       < !-- Product Review -- > 
       <reviews>Product Review</reviews> 

      </templates> 
     </web> 
    </locations> 

</index>  

任何指針將不勝感激。

編輯

我在尋找的兩兩件事是:

  • 如何索引類別字段沒有標記化而它。
  • 如何使用Lucine.net API進行過濾。
+0

對於初學者,您希望Sitecore Index Viewer應用程序檢查並重建索引。 http://marketplace.sitecore.net/en/Modules/Index_Viewer。aspx 此外,它可能有助於開始讓「IndexAllFields」節點設置爲true,然後使用Review文件夾的ID填充 {GUID}。 – 2013-03-23 04:27:48

+0

@patrickmjones,但不會允許過濾? – 2013-03-25 03:33:49

+1

你能通過過濾來進一步描述你的意思嗎?你只是在尋找如何查詢這些領域?您是否正在使用Lucene API,Sitecore.Search API或SitecoreSearchContrib API直接執行此操作? – techphoria414 2013-03-26 00:11:41

回答

4

使用SitecoreSearchContrib(又名高級數據庫抓取程序)庫將使您在索引和搜索中更加輕鬆。該庫包含示例配置,這將使您更清楚應該如何設置。

一些初步的指針,即使你不使用SitecoreSearchContrib:

  • 你要掌握指數一樣,所以這個功能在預覽模式下工作。上述庫將根據代碼運行的上下文自動搜索正確的數據庫。
  • 您的模板在索引中的包含應該是模板GUID。
  • 你的字段包含也應該是GUID。
+0

+1 - 不知道高級數據庫抓取工具已重新命名。 – 2013-03-24 07:36:53

+0

你可以進一步瞭解過濾的細節嗎?你有沒有用lucene.net API過濾的例子? – 2013-03-25 05:59:29

+0

你的意思是除了添加過濾器作爲查詢條件?你能通過編輯你的問題來明確你想要什麼嗎?你想使用Sitecore.Search或SitecoreSearchContrib API的expamples? – techphoria414 2013-03-25 17:00:41