gpt4 book ai didi

node.js - ElasticSearch - 搜索精确的文本匹配而不在索引中保留两个副本?

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:10 28 4
gpt4 key购买 nike

如果字段映射包含"index": "not_analyzed",则 ElasticSearch 支持文本精确匹配。这样,该字段就不会被标记化,ES 将使用整个字符串进行精确匹配。 The Documentation

有没有一种方法可以同时支持全文搜索和精确匹配,而无需创建两个字段:一个用于全文,另一个使用 not_analyzed 映射进行精确匹配?

示例用例:

我们想按书名搜索。

  • 我喜欢树应该返回全文搜索的结果

  • exact="I like trees" 应该仅返回具有确切标题 I like trees 的书籍,而没有其他内容。不区分大小写就可以了。

最佳答案

您可以使用term过滤器进行完全匹配搜索

过滤器看起来像这样

{
"term" {
"key" : "value"
}
}

查询如下所示:

{
"query" : {
"filtered" : {
"filter" : {
"term" : {
"key" : "value"
}
}
}
}
}

关于node.js - ElasticSearch - 搜索精确的文本匹配而不在索引中保留两个副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466268/

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