没有IDF的Elasticsearch词组频率得分

时间:2018-11-08 07:57:39

标签: elasticsearch ranking

我需要一个自定义分数,该分数是词组频率(即“约翰·霍布斯”出现的次数-同一顺序,彼此相邻)和索引时计算出的自定义分数的组合。

基本上,我需要关闭IDF的默认评分,因为它会带来额外的信息,这些信息的每个术语具有不同的值(不受控制),并且由于分片而不确定。我知道我可以使用函数评分,但是我需要以某种方式获得词组频率值,而无需重新编制索引。

  1. 可能无法关闭默认相似度(无需重新编制索引即可动态调整)的IDF,对吧?

  2. 我可以定义custom scripted similarity,但是实际上是为每个术语计算分数并将其求和(对于“ John Hobs”,它计算两次,对于“ John Walker Hobs”,它计算三次,依此类推)而且我现在不知道如何在脚本中实际获取查询词的数量。

  3. 我可以写custom plugin。它应该工作而无需重新编制索引,但是它仅在术语级别起作用(我可以得到术语频率)。如何计算词组频率?我无法获得任何职位信息。我还可以访问通过查找建立索引时定义的自定义分数,那么性能呢?我怀疑性能会不好。

任何问题的解答我都会很高兴的:) 非常感谢

0 个答案:

没有答案