elasticsearch - 用于索引数组元素的 Elasticsearch
问题描述
您好我想使用弹性搜索查询从索引中搜索数组元素
{
"name": "Karan",
"address": [
{
"city": "newyork",
"zip": 12345
},
{
"city": "mumbai",
"zip": 23456
}]
}}
当我尝试使用匹配查询进行搜索时,它不起作用
{
"query": {
"bool": {
"must": [
{
"match": {
"address.city": "newyork"
}
}
]
}
}
}
当我访问像“name”:“Karan”这样的简单字段时,它可以工作,只有数组元素有问题。
解决方案
因为嵌套对象被索引为单独的隐藏文档,我们不能直接查询它们。相反,我们必须使用嵌套查询来访问它们:
GET /my_index/blogpost/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"title": "eggs"
}
},
{
"nested": {
"path": "comments",
"query": {
"bool": {
"must": [
{
"match": {
"comments.name": "john"
}
},
{
"match": {
"comments.age": 28
}
}
]
}
}
}
}
]
}}}
推荐阅读
- docker - 如何在 docker 中运行多个 ENTRYPOINT 脚本
- sql - 全外连接的替代方式
- python - django.core.exceptions.FieldError:无法计算总和('
我有一个代码:
k = company.departments.all().annotate( net_pay_amount_sum=Sum('employees__payments__net_pay_
- datepicker - 引导程序中日期选择器的标题不可见
- jmeter - 如何设计负载配置文件以及需要使用哪个线程组?
- rft - 在理性功能测试器中播放时遇到错误
- java - 对 Json 数组中的双精度值求和
- javascript - 地图功能中的空/未定义检查
- elasticsearch - elasticsearch部落节点未发现索引的问题
- wordpress - 为什么我所有的页面都链接到规范的“/”