具有自动完成/建议的Solr Searchbox?

时间:2012-08-08 07:13:47

标签: search drop-down-menu autocomplete solr autosuggest

要使用Solr,我需要我的搜索框在用户输入时使用下拉菜单建议。我怎么能完成它?任何现有的例子?

3 个答案:

答案 0 :(得分:5)

Here是我撰写的一篇文章,介绍了制作自动建议的不同方法以及如何做出正确的选择。如果你想要更高级和更灵活的东西,有this other article,其中也包含一个例子。

答案 1 :(得分:2)

查看一下Suggester组件 - http://wiki.apache.org/solr/Suggester/

答案 2 :(得分:0)

有多种方法可以提供自动提示功能。

单期建议

此方法查找第一个字母,然后是短语中的第一个单词,搜索“男士衬衫”必须以“m”开头,然后是“男士”,以“男士衬衫”作为回应。< / p>

这可以通过使用以下字段类型并使用my little po*

查询来完成
<fieldType name="suggestion_text" class="solr.TextField" positionIncrementGap="100">
       <analyzer>
          <tokenizer class="solr.KeywordTokenizerFactory" />
       </analyzer>
</fieldType>

Multiterm无序建议

此自动填充方法将“衬衫”识别为短语的一部分,例如“男士衬衫”,并将其与“女士衬衫”,“工作衬衫”以及其他包含“男士衬衫”的短语一起提供给顾客。 / p>

可以使用以下字段类型并使用my AND little AND po*

查询来完成此操作
<fieldType name="prefix_text" class="solr.TextField" positionIncrementGap="100">
   <analyzer type="index">
      <tokenizer class="solr.StandardTokenizerFactory" />
   </analyzer>

</fieldType>

Multiterm订购建议

第三种方法匹配包含完整短语副词的所有内容,只要它按照正确的顺序排列,即“男人的先生”,而不是“衬衫我”。

Solr没有内置功能来生成它,但我们可以实现自己的令牌过滤器。有关此实施和先前实施的更多信息(以及完整信息) - 请查看此blog post