gpt4 book ai didi

ElasticSearch Nested types with List Inside 嵌套类型

转载 作者:行者123 更新时间:2023-11-29 02:57:13 24 4
gpt4 key购买 nike

是否可以在 ElasticSearch 中使用带有列表的嵌套类型?一个例子就是我在想的是这样的

{
"name" : "Zach",
"car" : [
{
"make" : "Saturn",
"model" : "SL",
"colors": ["Red","Blue","Green"]
},
{
"make" : "Saturn",
"model" : "Imprezza",
"colors": ["Pink","Green"]
}
]
}

我将如何查询这样的 FF?

1) 我想询问所有人,他们的汽车是用“Saturn”“制造”的,颜色是“绿色”

2)我想查询所有人他们的汽车颜色是“绿色”还是“粉红色”

最佳答案

是的。以下是我的做法:

第 1 步。设置映射:

PUT /index_name
{
"mappings": {
"type_name": {
"properties": {
"name": {
"type": "string"
},
"car": {
"type": "nested",
"properties": {
"make": {
"type": "string"
},
"model": {
"type": "string"
},
"colors": {
"type": "string"
}
}
}
}
}
}
}

第 2 步。填充索引:

PUT /index_name/type_name/1
{
"name": "Zach",
"car": [
{
"make": "Saturn",
"model": "SL",
"colors": [
"Red",
"Blue",
"Green"
]
},
{
"make": "Saturn",
"model": "Imprezza",
"colors": [
"Pink",
"Green"
]
}
]
}

第三步,查询索引。注意:您需要使用 bool query为了检索具有多个查询参数的文档。

GET /index_name/type_name/_search
{
"query": {
"nested": {
"path": "car",
"query": {
"bool": {
"must": [
{
"match": {
"make": "Saturn"
}
},
{
"match": {
"colors": "Green"
}
}
]
}
}
}
}
}

关于ElasticSearch Nested types with List Inside 嵌套类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24520693/

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