gpt4 book ai didi

elasticsearch - 映射时,在 ElasticSearch 中优先使用精确匹配而不是 ngram 匹配

转载 作者:行者123 更新时间:2023-11-29 02:46:03 27 4
gpt4 key购买 nike

我使用 ngram 对单词进行部分匹配。我如何修改映射以始终支持完全匹配而不是 ngram 标记?我不想修改查询。一个搜索框将搜索多种类型,每种类型都有自己的字段。

例如,假设我正在搜索职位,一个人的职位是“现场工程师”,另一个人的职位是“发动机技术员”。如果用户搜索“引擎”,我希望 ES 返回更相关的后者。

我几乎一字不差地使用这个映射:https://stackoverflow.com/a/19874785/978622-异常(exception):我使用的是最小值为 3 且最大值为 11 的 ngram 而不是边缘 ngram

是否可以将提升/功能分数应用于分析器?如果是这样,我也会将“full_name”和“partial_name”分析器应用到我的索引中,并提升第一个。

编辑:我正在使用 ElasticSearch 1.1.1 和 Nest 1.0.0 beta

最佳答案

我认为无论如何都不能像您建议的那样将增强应用于分析器。

您可以尝试的一件事是使用 multi field输入您的映射。然后,您可以将 partial_name 分析器应用于字段的一个版本,并将 full_name 分析器应用于另一个版本。

使用此映射,您可以以不同方式查询这两个字段,但可以合并(可能在 bool 查询中),并对在 full_name analyzed 字段上执行的查询应用提升。

关于elasticsearch - 映射时,在 ElasticSearch 中优先使用精确匹配而不是 ngram 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23686577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com