gpt4 book ai didi

elasticsearch - Elasticsearch嵌套对象使用AND条件进行搜索

转载 作者:行者123 更新时间:2023-12-03 01:36:59 24 4
gpt4 key购买 nike

这是我在Elasticsearch中的数据-我将标签保留为嵌套对象

PUT myblog/3
{
"id" : 10003,
"tags" : [
{
"tag" : 45647
},
{
"tag" : 45648
}
]
}


PUT myblog/4
{
"id" : 10004,
"tags" : [
{
"tag" : 45647
}
]
}

PUT myblog/5
{
"id" : 10005,
"tags" : [
{
"tag" : 45648
}
]
}

我想检索标签为45647和45648的文档。
GET myblog/_search
{

"query": {
"nested": {
"path": "tags",
"query": {
"bool": {
"must": [
{ "match": { "tags.tag": 45648}},
{ "match": { "tags.tag": 45647}}
]
}
}
}
}
}

但是它没有返回预期的结果。查询中缺少什么以获得预期的结果?

最佳答案

你快到了。您需要两个nested子句,因为每个嵌套元素在下面都是一个不同的文档。尝试这样:

GET myblog/_search
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "tags",
"query": {
"match": {
"tags.tag": 45648
}
}
}
},
{
"nested": {
"path": "tags",
"query": {
"match": {
"tags.tag": 45647
}
}
}
}
]
}
}
}

关于elasticsearch - Elasticsearch嵌套对象使用AND条件进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51686416/

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