Solr

时间:2018-09-07 07:52:48

标签: solr

Solr可以使用函数查询termfreq( field ,'term')返回给定术语的术语频率。但是,据我所知,您无法获得模糊匹配的术语频率;您无法编写termfreq( field ,'term〜1')来获取Levenshtein距离1之内的所有术语的术语频率。

例如,假设我有两个文档1和2,其中文档1两次包含“ cats”,而文档2一次包含“ carts”并运行查询:q=cats~1&fl=id,freq: termfreq(text, cats),则响应将看起来像这样:

{'response': {'docs':
 [{'id': 1, 'freq': 2},
  {'id': 2, 'freq': 0}]
  ...
}

我想要的是将搜索扩展到的词的词频包含在词频中,这样响应将类似于:

{'response': {'docs':
 [{'id': 1, 'freq': 2},
  {'id': 2, 'freq': 1}]
  ...
}

在Solr中,有没有办法以相对容易的方式做到这一点?

1 个答案:

答案 0 :(得分:0)

在Solr中执行此操作的唯一方法是对查询词的不同组合进行预处理,并使用它来查找词频。

相关问题