映射时在ElasticSearch中优先于ngram匹配进行完全匹配
我对使用ngram的单词有部分匹配。如何修改映射以始终偏爱精确匹配而不是ngram令牌?我不想修改查询。一个搜索框将搜索多种类型,每种类型都有各自的字段。
例如,假设我正在搜索职位,一个人的标题为“现场工程师”,另一个人的标题为“引擎技术员”。如果用户搜索“引擎”,我希望ES将后者返回为更相关。
我几乎逐字使用此映射:例外:我使用的ngram的最小值为3,最大值为11,而不是边缘ngram
是否可以对分析仪应用提升/功能评分?如果是这样,我也将“ full_name”和“ partial_name”分析器都应用于我的索引,并提升第一个。
编辑:我正在使用ElasticSearch 1.1.1和Nest 1.0.0 beta
回答:
我不相信您会建议对分析仪进行增强。
您可以尝试的一件事是在映射中使用多字段类型。然后,您可以将partial_name
分析器应用于该字段的一个版本,而将full_name
分析器应用于另一版本。
使用此映射,您可以对两个字段进行不同的查询,但可以进行组合(可能是布尔查询),并且可以对所full_name
分析的字段进行查询。
以上是 映射时在ElasticSearch中优先于ngram匹配进行完全匹配 的全部内容, 来源链接: utcz.com/qa/412962.html