使用 Learning To Rank 进行搜索
编辑使用 Learning To Rank 进行搜索编辑
Learning To Rank 功能目前处于技术预览阶段,未来版本中可能会更改或移除。Elastic 将努力修复任何问题,但此功能不受官方 GA 功能支持 SLA 的约束。
此功能在版本 8.12.0 中引入,并且仅适用于某些订阅级别。有关更多信息,请参阅 https://elastic.ac.cn/subscriptions。
Learning To Rank 作为重打分器编辑
在 Elasticsearch 中训练和部署 LTR 模型后,它可以用作 重打分器 在 搜索 API 中
GET my-index/_search { "query": { "multi_match": { "fields": ["title", "content"], "query": "the quick brown fox" } }, "rescore": { "learning_to_rank": { "model_id": "ltr-model", "params": { "query_text": "the quick brown fox" } }, "window_size": 100 } }
已知限制编辑
重打分窗口大小编辑
LTR 模型返回的分数通常与第一遍查询发布的分数没有可比性,并且可能低于未重打分的分数。这可能会导致未重打分的結果文档排名高于重打分的文档。为了防止这种情况,window_size
参数对于 LTR 重打分器是必需的,并且应该大于或等于 from + size
。
分页编辑
向用户公开分页时,window_size
应该在翻页时保持不变,方法是传递不同的 from
值。更改 window_size
可能会改变热门结果,导致结果在用户翻页时发生混乱的偏移。
负分数编辑
根据模型的训练方式,模型可能会为文档返回负分数。虽然第一阶段检索和排名不允许负分数,但在 LTR 重打分器中可以使用它们。
与字段折叠的兼容性编辑
LTR 重打分器与 折叠功能 不兼容。
术语统计信息作为特征编辑
我们目前不支持将术语统计信息作为特征,但未来版本将引入此功能。