[英]Sitecore System Lucene Index for custom queries
我一直在對網站的某些部分使用Sitecore查詢和FAST查詢。 但是隨着內容的增長,這些查詢變得越來越慢,我想實現Lucene查詢內容以加快處理速度。
我想知道是否可以只使用System索引,而不必設置單獨的索引。 默認情況下,Sitecore是否在內容編輯器中索引所有內容? 這是一個好方法還是我應該創建自己的索引?
(我假設您使用的是Sitecore 6.4-> 6.6)
與所有內容一樣,它取決於.. Sitecore在其系統索引中保留所有Sitecore項目的索引,歡迎您使用它。 有時,您可能想要更專業或受限制的項目列表,例如基於某個模板,被索引或需要為復選框字段建立索引(因為系統默認情況下僅對text
字段進行索引)。
設置您自己的搜索索引非常容易。。盡管如此,它確實需要對web.config進行一些調整(我建議添加為.include
文件)。
用自己的id
創建一個新的<index>
節點,該節點將定義集合的名稱以及它將進入的文件夾。 (您可以通過在安裝的/data/indexes
目錄中查找目錄來檢查其工作情況。
..接下來,您可以告訴搜尋器要查看哪個數據庫(如果您希望對未發布的內容建立索引,或者從web
查找已發布的內容,則很可能是master
數據庫)以及從何處開始搜索(在此示例中,我僅對新聞部分進行索引) 。 您可以tag
, boost
和判斷是否要對IndexAllFields
進行IndexAllFields
(否則,它將僅將它理解為文本的字段編入索引。富文本/多行文本/文本等)。
..最后,您可以告訴索引器要包括或排除哪些模板類型。
索引器的工作方式是它將在sitecore ..中訂閱項目事件,因此,每次更改,移動或刪除項目時,索引都會自動更新。 顯然,如果您要索引web
數據庫,則必須已發布項目。
搜索語法和API在6.4 / 6.5中得到了很大的改進,但是如果您想添加額外的功能,那么我的同事Alex Shyba的Advanced Database Crawler也值得一試。
希望這會有所幫助:D
您將要實現自己的索引。 出於同樣的原因,當內容很多時,您會看到速度變慢;當內容很多時,索引也會變慢。
我更喜歡有針對性的索引,這些索引專門用於驅動我需要的功能,並且僅包含所需的數據。 這樣可以在組件上使用更小,更有效的索引。
另外,您可能想研究一下Alex Shyba編寫的AdvancedDatabaseCrawler 。 那里有一些博客,其中有很多有關實現此Lucene索引模塊的文章。
單獨的索引始終是一個明智的決定,您可以保持謹慎。 在大型環境中,系統索引可能會增長到千兆字節。
您可以從索引中排除內容,因為您僅將其用於執行查找,而不顯示索引中的內容。
最后:系統索引用於主數據庫,您將查詢Web數據庫,可能在內容交付服務器上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.