[英]Solr schema design and performance
我有一個包含三個實體的圖書數據庫:圖書,頁面和標題(在頁面中找到的標題)。 我對模式設計中兩種方法之間的性能感到困惑和擔憂:
1-將書籍作為文檔處理,即書籍字段,具有multiValue的頁面字段和具有multiValue的書名字段。 通過這種方法,所有書籍數據都將在一個Solr文檔中以非常大的字段表示。
2-將頁面作為文檔處理,這將導致較小的字段,但會導致大量的文檔。
我試圖查看此官方資源,但無法為我的問題找到明確的答案。
假設您要獲取Solr結果並通過另一個應用程序顯示,我將使用最小的項-標題-文檔模型,這將使顯示結果出現的位置更加容易。 這樣做可以最大程度地減少您需要編寫的應用程序代碼量。 如果您的用戶直接查詢Solr,則我可以改用Page作為我的文檔-大概您是在使用Solr的突出顯示功能,然后幫助您的用戶確定其搜索詞的匹配方式。
對於標題文檔,我將按以下方式對模式進行建模:
您可能還需要捕獲其他屬性,例如作者,發布日期,發布者,但是您在上面沒有解釋其他信息,因此我將其排除在本示例之外。
然后,文本查詢可能涉及Book Name
Title
Book Name
,“ Title
和“ Content
,您可能希望在其中定義一個已索引但未存儲的字段,該字段用作schema.xml中<copyField/>
聲明的目標,以便於輕松搜索所有內容。三個同時。
對於索引,在不了解更多有關要索引的數據的情況下,我將使用ICU Tokenizer和Snowball Porter詞干過濾器 ,並在文本字段上使用語言規范來處理非英語數據-假設所有書籍都使用同一語言。 如果是英語,則使用標准標記器而不是ICU。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.