gpt4 book ai didi

elasticsearch - 精确的长期匹配

转载 作者:行者123 更新时间:2023-12-03 01:41:50 25 4
gpt4 key购买 nike

我被困在Elasticsearch中进行搜索。我正在尝试找到一个匹配多个术语的结果。看起来很简单,但是我找不到正确的方法。

要搜索单个词,我将启动以下搜索:

{
"query":
"term": {
"name. keyword."
"value":"Will"
}
}
}
}

而且效果很好。

为了使用多个词进行搜索,我尝试了很多类似以下的事情,这些事情对我来说最有意义:
{
"query":
"term":[{{
"name. keyword."
"value":"Will"
}
}, {
"lastname. keyword."
"value":"Smith"
}
}]
}
}

但是它返回一个错误。在最好的情况下,我设法使所有的遗嘱和史密斯的遗嘱都得到了支持,其中包括“威尔·史密斯”(Will Smith),这是我一直在寻找的那个人,但我想摆脱所有不符合所有遗嘱的人。要求。

我的映射如下:
{
"dataset": {
"mappings": {
"data": {
"properties": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"lastname": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}

有可能得到我想要做的事情吗?

最佳答案

试试Bool Query:

{
"query": {
"bool": {
"must": [
{
"term": {
"name.keyword": "Will"
}
},
{
"term": {
"lastname.keyword": "Smith"
}
}
]
}
}
}

关于elasticsearch - 精确的长期匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46935630/

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