Solr建议者无结果

Gri*_*ris 6 apache solr

我想将Solr建议程序组件用于城市名称。我有以下设置:

schema.xml

栏位定义

<fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StandardFilterFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

我想在其中应用建议者的字段

<field name="city" type="string"  indexed="true" stored="false"/>
Run Code Online (Sandbox Code Playgroud)

复制字段

<copyField source="city" dest="citySuggest"/>
Run Code Online (Sandbox Code Playgroud)

<field name="citySuggest" type="textSuggest" stored="false" indexed="true" />
Run Code Online (Sandbox Code Playgroud)

solr-config.xml

<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>



<searchComponent name="suggest" class="solr.SuggestComponent">
  <lst name="suggester">
    <str name="name">mySuggester</str>
    <str name="lookupImpl">FuzzyLookupFactory</str>      
    <str name="dictionaryImpl">DocumentDictionaryFactory</str>    
    <str name="field">citySuggest</str>
    <str name="suggestAnalyzerFieldType">string</str>
  </lst>
</searchComponent>
Run Code Online (Sandbox Code Playgroud)

然后我跑

http://localhost:8983/solr/company/suggest?suggest=true&suggest.dictionary=mySuggester&wt=json&suggest.q=Ath&suggest.build=true
Run Code Online (Sandbox Code Playgroud)

建立建议组件

终于我跑了

   http://localhost:8983/solr/company/suggest?suggest=true&suggest.dictionary=mySuggester&wt=json&suggest.q=Ath
Run Code Online (Sandbox Code Playgroud)

但我得到一个空结果集

{"responseHeader":{"status":0,"QTime":0},"suggest":{"mySuggester":{"Ath":{"numFound":0,"suggestions":[]}}}}
Run Code Online (Sandbox Code Playgroud)

是否有任何明显的错误?有什么想法吗?

Spy*_*s K 5

? 试试以下:

  1. 在 name="citySuggest" 的字段中设置属性 stored="true"。
  2. 然后重建建议者。