Solr smart next next建议者(最常出现的词)

时间:2014-08-22 13:12:06

标签: solr liferay autosuggest solr4 search-suggestion

我正在将solr与liferay集成,我希望实现智能下一个单词建议器。例如,如果我的文件的标题如下:

  • Solr是世界上最好的搜索引擎
  • Solr在lucene搜索引擎上实施
  • Solr是世界上80%的开发者用作搜索引擎的lucene
  • lucene不需要在应用服务器上单独安装以进行搜索实施

因此,如果我输入 Solr ,我应该得到以下结果:

  1. solr的
  2. solr lucene
  3. Solr搜索
  4. solr engine
  5. solr world
  6. 如果我输入 lucene ,我应该得到以下结果:

    1. lucene的
    2. lucene search
    3. lucene engine
    4. lucene world
    5. 我尝试了很多例子但他们有效,但我面临以下问题:

      • 如果我从前缀 Solr 开始,建议会起作用,如果我开始输入任何中间字,那么它就不起作用
      • 我得到的完整句子不是下一个最匹配的单词。

      请帮忙。在此先感谢:)

2 个答案:

答案 0 :(得分:0)

你可以建立"最受欢迎的其他词语"通过使用facet为该字段。忽略与您正在搜索的单词同名的构面,并添加fq一词(将其限制为与您的单词匹配的文档子集)。对您要搜索的每个字词执行此操作(即忽略生成的构面列表中的solr并将fq=title:solr添加到查询中。

下一步是fq=title:solr AND title:lucene,并在方面列表中跳过solrlucene

这假设您已经适当地对您的字段进行了标记(例如,使用StandardTokenizer或WhitespaceTokenizer),因此您为每个单词获得一个标记。

答案 1 :(得分:0)

如果你输入中间词,AnalyzingInfixLookupFactory会给你建议,希望能回答你的第一个问题