在elasticsearch中提取机器学习特征

时间:2021-01-02 23:48:05

标签: elasticsearch machine-learning search recommendation-engine

有没有办法从 ElasticSearch 返回文本匹配的原始信号?假设文档有 3 个文本字段 - 标题/正文/作者。我使用关键字查询执行搜索请求,并希望得到以下信号:

  • title/body/author 中分​​别匹配了多少个查询标记?
  • 分别为查询与标题、查询与正文、查询与作者计算的 BM25 分数是多少?
  • ...

为了进一步概括这一点,有没有办法嵌入一些脚本,这些脚本可以直接计算给定(查询、文档)作为上下文的任何密集特征? (我知道无痛脚本 - https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-painless.html - 但它似乎只允许访问文档字段,而不是查询/文档匹配信息)

上下文

一般来说,为了获得最佳的搜索/推荐质量,一种做法是进行多路径检索+混合,如下所示:

  • 在检索阶段,使用不同的策略(例如重写查询)从不同角度检索文档(有些倾向于正文匹配,有些倾向于作者姓名匹配,有些倾向于流行等)
  • 在混合阶段,来自不同检索策略的结果混合在一起,通常通过一个排名器对每个文档进行评分并按分数进行排名。

为了让排序器工作,我们需要有来自文本匹配的原始信号,以实现不同优化目标之间的最佳平衡。

0 个答案:

没有答案