gpt4 book ai didi

elasticsearch - 有没有一种方法可以在带有嵌套json的elasticsearch中进行搜索?

转载 作者:行者123 更新时间:2023-12-02 22:47:28 29 4
gpt4 key购买 nike

在 flex 搜索中,数据已按以下格式保存:

{
'name': 'somename',
'data': '{"age": 25}'
}
如何搜索像
{"match": {"data.age": 25}}

最佳答案

您需要为data字段使用nested data type,然后可以使用同一文档中提供的示例查询嵌套字段。
简而言之,如果索引正确,则需要在查询中包含nested path

"nested": {
"path": "data",
根据您的示例添加端到端工作示例
索引映射
{
"mappings": {
"properties": {
"name" : {
"type" : "text"
},
"data": {
"type": "nested"
}
}
}
}
索引请求
{
"name": "somename",
"data": {
"age": 25
}
}
搜索请求
{
"query": {
"nested": {
"path": "data",
"query": {
"match": {
"data.age": 25
}
}
}
}
}
和搜索结果
"hits": [
{
"_index": "nested",
"_type": "_doc",
"_id": "1",
"_score": 1.0,
"_source": {
"name": "somename",
"data": {
"age": 25
}
}
}
]

关于elasticsearch - 有没有一种方法可以在带有嵌套json的elasticsearch中进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63247375/

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