4

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

4

3 回答 3

5

是我写的一篇关于提出自动建议的不同方法以及如何做出正确选择的文章。如果您想要更高级和更灵活的东西,那么还有这篇文章,其中也包含一个示例。

于 2012-08-08T07:26:11.700 回答
2

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

于 2012-08-08T07:17:11.573 回答
0

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

单项建议

此方法先查找第一个字母,然后查找短语中的第一个单词,搜索“men's shirts”必须以“m”开头,然后是“men's”,才能找到“men's shirt”作为响应。

这可以通过使用以下字段类型并使用查询来完成my little po*

<fieldType name="suggestion_text" class="solr.TextField" positionIncrementGap="100">
       <analyzer>
          <tokenizer class="solr.KeywordTokenizerFactory" />
       </analyzer>
</fieldType>

多词无序建议

这种自动填充方法将“衬衫”识别为短语的一部分,例如“男士衬衫”,并将其与“女士衬衫”、“工作衬衫”和其他包含“男士”的短语一起推荐给客户。</p>

这可以通过使用以下字段类型并使用查询来完成my AND little AND po*

<fieldType name="prefix_text" class="solr.TextField" positionIncrementGap="100">
   <analyzer type="index">
      <tokenizer class="solr.StandardTokenizerFactory" />
   </analyzer>

</fieldType>

多词有序建议

第三种方法匹配包含完整短语的子短语的所有内容,只要它的顺序正确,即“men's shir”,而不是“shirts me”。</p>

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

于 2017-06-12T19:17:27.957 回答