正在加载

排名和重新排名

Elastic Stack Serverless

许多搜索系统都建立在多阶段检索管道之上。

早期阶段使用廉价、快速的算法来找到广泛的可能匹配项。

后期阶段使用更强大的模型(通常是基于机器学习的)来重新排序文档。此步骤称为重新排名。由于资源密集型模型仅应用于较小的预过滤结果集,因此这种方法可以返回更相关的结果,同时优化搜索性能和计算成本。

Elasticsearch 支持各种排名和重新排名技术,以优化搜索相关性和性能。

Elasticsearch 根据词频和逆文档频率对文档进行排名,并根据文档长度进行调整。BM25 是 Elasticsearch 中的默认统计评分算法。

向量搜索涉及将数据转换为密集或稀疏向量嵌入以捕获语义,并计算查询向量的相似度分数。 使用 semantic_text 字段存储向量以进行自动推理和向量化,或者在您需要更多控制底层嵌入模型时使用 dense_vectorsparse_vector 字段。 使用 semanticknnsparse_vector 查询查询向量字段以计算相似度分数。 有关更多信息,请参阅语义搜索

混合搜索技术结合了全文和向量搜索管道的结果。 Elasticsearch 允许使用 倒数排名融合 (RRF) 算法组合词法匹配 (BM25) 和向量搜索分数。

当使用以下高级重新排名管道时,第一阶段检索机制有效地生成一组候选项目。 这些候选项目被输入到重新排名器中,以执行计算成本更高的重新排名任务。

语义重新排名 使用机器学习模型根据搜索结果与查询的语义相似性重新排序搜索结果。 模型可以直接托管在您的 Elasticsearch 集群中,或者您可以使用 推理端点 来调用第三方服务提供的模型。 语义重新排名可在现有的全文搜索索引上实现开箱即用的语义搜索功能。

学习排名 适用于高级用户。 学习排名涉及训练机器学习模型,为您的搜索体验构建排名函数,该函数会随着时间的推移而更新。 当您有大量的训练数据并且需要高度自定义的相关性调整时,LTR 最为适用。

© . All rights reserved.