gpt4 book ai didi

elasticsearch - 多个(AND)查询Elasticsearch中的嵌套索引结构

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

我有下面的映射索引

{
"mappings": {
"xxxxx": {
"properties": {
"ID": {
"type": "text"
},
"pairs": {
"type": "nested"
},
"xxxxx": {
"type": "text"
}
}
}
}
}
pairs字段本质上是一个对象数组-每个对象都有一个与之关联的唯一ID

我想做的是从对字段中仅获取一个对象进行更新。在这种程度上,我已经尝试过
GET /sample/_search/?size=1000
{
"query": {
"bool": {
"must": [
{
"match": {
"ID": "2rXdCf5OM9g1ebPNFdZNqW"
}
},
{
"match": {
"pairs.id": "c1vNGnnQLuk"
}
}
]
}
},
"_source": "pairs"
}

但这只会返回一个空对象,尽管它们是有效的ID。如果我删除了 pairs.id规则-我将获得整个对象数组。

我需要添加/编辑哪些内容以确保可以同时通过IDS(原始和嵌套)查询

最佳答案

由于pairsnested类型,因此您需要使用 nested query。另外,您可能还想利用nested inner-hits :

GET /sample/_search/?size=1000
{
"query": {
"bool": {
"must": [
{
"match": {
"ID": "2rXdCf5OM9g1ebPNFdZNqW"
}
},
{
"nested": {
"path": "pairs",
"query": {
"match": {
"pairs.id": "c1vNGnnQLuk"
}
},
"inner_hits": {}
}
}
]
}
},
"_source": false
}

关于elasticsearch - 多个(AND)查询Elasticsearch中的嵌套索引结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53040610/

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