簡體   English   中英

Solr建議程序無法實時使用

[英]Solr suggester not available in near real time

我在通過SOLR建議程序以近乎實時的方式顯示結果時遇到了一些麻煩。盡管如此,如果我嘗試使用搜索處理程序,則可以在近乎實時的搜索中正常工作。 如果添加文檔,則可以通過搜索處理程序在幾乎相關的時間內檢索該文檔,但是只有在重新加載核心后,建議程序中才能提供相同的記錄。為什么會這樣? 這是我在solr-config.xml中給建議者的條目

  <searchComponent name="suggest" class="solr.SuggestComponent">
     <lst name="suggester">
      <str name="name">mySuggester</str>
      <str name="lookupImpl">FuzzyLookupFactory</str>      <!-- org.apache.solr.spelling.suggest.fst -->
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>     <!-- org.apache.solr.spelling.suggest.HighFrequencyDictionaryFactory -->
      <str name="field">email</str>
      <str name="weightField">popularity</str>
      <str name="suggestAnalyzerFieldType">string</str>
    </lst>
  </searchComponent>
  <requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
    <lst name="defaults">
      <str name="suggest">true</str>
      <str name="suggest.count">10</str>
     <str name="suggest.dictionary">mySuggester</str>
    </lst>
    <arr name="components">
      <str>suggest</str>
    </arr>
  </requestHandler>

這是我的自動提交和軟提交條目(使用默認值)

<autoCommit> 
       <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
       <openSearcher>false</openSearcher> 
     </autoCommit>

<autoSoftCommit> 
       <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
     </autoSoftCommit>

我無法實時獲取建議者的結果的原因是我錯過了此屬性

<str name="buildOnCommit">true</str>

希望這對其他人有幫助。

引用Lucidworks指南:

“特別是,任何使用“ DocumentDictionaryFactory”的版本在構建建議程序時都會從字段的存儲數據中讀取原始數據!這意味着,如果您已將1M文檔添加到索引並開始構建,則每個文檔都必須:從磁盤中讀取被解壓縮並包含在建議者的數據結構中,其結果是配置中指定的字段必須在架構中設置了storage =“ true”。可以想象,這可能需要一段時間,並且在Mac Pro上的1100萬文檔Wikipedia轉儲中,“一段時間”將近10分鍾。”

知道:““ buildOnStartup”參數應設置為“ false”。確實。這會導致很長的啟動時間,在非常大的索引上會花費很多分鍾。您是否真的要重新讀取,解壓縮和添加字段每次啟動Solr時,從每個文檔到建議程序都可能!可能不是,但是您可以這樣做。“ buildOnCommit”參數應該設置為“ false”。確實。您真的要重新讀取,解壓縮和每次提交時,將每個文檔中的字段添加到建議者中!可能不會,但是如果您願意,可以。”

希望這可以幫助 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM