我想将Solr建议程序组件用于城市名称。我有以下设置:
栏位定义
<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)
<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)
是否有任何明显的错误?有什么想法吗?
| 归档时间: |
|
| 查看次数: |
1423 次 |
| 最近记录: |