solr找到给定单词后最常用的单词

时间:2014-07-18 10:25:41

标签: solr

我需要找到一个给定单词后最常用的单词。对于示例集合,

  1. A B
  2. A C
  3. A B
  4. B C
  5. 这里,单词A后面最常用的单词是B. 我怎样才能在solr中找到它?

1 个答案:

答案 0 :(得分:2)

创建一个以ShingleFilterFactory作为其过滤器之一的字段。这将为索引字段时生成每个单词的标记序列,以便A B C被编入索引为A BB C。您将需要使用WhitespaceTokenizer或类似的字段。

请求搜索field:A\ *(意味着以A开头的所有内容)作为查询,并为该字段添加构面。

facet=true&facet.field=field&facet.limit=10&facet.sort=count

将为您提供十个最常用的以A开头的序列。

ShingleFilterFactory默认生成每个瓦片中有两个标记的带状疱疹,但您可以通过更改minShingleSizemaxShingleSize来调整此值。