我可以为单个字段执行自动完成,但是当我尝试为多个字段执行自动完成时,它不起作用。它没有给我任何结果。我在这做错了什么?改变了
Schema.xml
如下:
<field name="last_name" type="text_general" indexed="true" stored="true" />
<field name="name" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>
In Solrconfig.xml
<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">text</str>
<str name="weightField">price</str>
<str name="suggestAnalyzerFieldType">text_general</str>
<str name="buildOnStartup">false</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>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
我正在使用以下命令查询 http://localhost:8983/solr/search/suggest?suggest=true&suggest.build=true&suggest.dictionary=mySuggester&wt=json&suggest.q=&#34 +名称,
答案 0 :(得分:1)
如果您使用的是 solr 5.0 等,那么只有solr suggester才能用于多值字段。
您的text
字段应该stored=true
然后才能生效。我测试了它。
<field name="text" type="text_general" indexed="true" stored="true" multiValued="true"/>
您需要重新索引数据,以便在solr中存储字段。