gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中支持最简单,最精确的字段匹配

转载 作者:行者123 更新时间:2023-12-03 00:06:55 25 4
gpt4 key购买 nike

假设我的查询是字符串“X Y”,其中X和Y是单词,并且我的数据库包含字符串:

"A X Y"
"X Y"
"A B C X Y"
"X Y D E"

如何确保始终以最高分数返回“X Y”?我想返回“X Y”,因为它完全匹配(没有多余的单词)。

在查看了文档之后,我尝试使用match_phrase关键字,但是我相信这只会帮助按顺序匹配查询中的单词。因此match_phrase确保返回“X Y A”,但不返回“X A Y”。它不能解决返回最精确匹配的问题。

当前的实现(不起作用),这里我试图返回名称为“Foo bar”的条目作为最高结果:
GET _search
{
"query" : {
"bool" : {
"must": [
{
"query_string": {
"query": "Foo bar"
}
}
],
"filter": [],
"should": [
{
"match": {
"name": {
"query":"Foo bar",
"boost": 2
}
}
},
{
"match_phrase": {
"name": {
"query": "Foo bar",
"boost": 5
}
}
}
]
}
}
}

最佳答案

我意识到您可以使用“term”关键字实现所需的行为。

关于elasticsearch - 如何在Elasticsearch中支持最简单,最精确的字段匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44316762/

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