Luk*_*ský 17 lucene elasticsearch
我想编写一个自定义Elastic Search记分器,它从索引中的文档中获取所有术语,查询中的所有术语以及基于某些自定义逻辑计算得分.
经过一些研究,似乎在Java中使用Elastic Search实现自定义记分的最直接的方法是使用其"本机脚本"功能(即实现AbstractDoubleSearchScript).我遇到的问题是我找不到在这样的脚本中访问原始查询对象的方法.我只能访问匹配的文档及其字段.有没有办法访问用于搜索的查询对象?
或者,每个结果运行自定义Java代码的最佳方法是什么,并使用我自己的(复杂)算法对匹配进行评分,该算法需要知道查询和文档的完整术语列表?
小智 2
实现自定义查询类并将实际查询(例如布尔查询)包装为其子查询。在 Query 类中,您可以使用 api 来实现自定义评分器,您可以在其中访问查询和您正在评分的当前文档。要细粒度控制分数,请实现自定义相似性类。
| 归档时间: |
|
| 查看次数: |
895 次 |
| 最近记录: |