我试图在Solr中使用“suggest”组件进行自动完成。我知道这是一个很常见的话题。 我可以让它发挥作用。我正在使用solr4.3.1
但是,结果在每个单词之间没有空格。 例如。给“appl”。看起来不错。但是,单词之间没有空格,例如applemacbook。这应该是苹果macbook。我确信索引数据在单词之间有空格。
<lst name="spellcheck">
<lst name="suggestions">
<lst name="appl">
<int name="numFound">9</int>
<int name="startOffset">0</int>
<int name="endOffset">4</int>
<arr name="suggestion">
<str>applea</str>
<str>applemacbook</str>
<str>appler</str>
<str>applewireless</str>
<str>apple®</str>
<str>appli</str>
<str>applianc</str>
<str>applic</str>
<str>apply)</str>
</arr>
</lst>
</lst>
</lst>
我看了这个http://solr.pl/en/2010/11/15/solr-and-autocomplete-part-2/。我使用相同的配置,“建议短语”。在此示例中,在单词之间正确添加空格。 我不确定索引数据是否不好。
架构:
<field name="label" type="text" indexed="true" stored="true" termVectors="true" omitNorms="true"/>
<field name="name_autocomplete" type="textSuggest" indexed="true" stored="true" multiValued="false"/>
<copyField source="label" dest="name_autocomplete"/>
<fieldType name="textSuggest" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
和, 查询:
http://XXXXXXXX/solr/XXXXX/suggest?q=appl&wt=xml&indent=true