我的弹性搜索索引的文档如下:
{
...
purchase:{
zones: ["FR", "GB"]
...
}
...
}
我使用这种查询来查找带有购买区域的文件到GB
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"purchase.zones": "GB"
}
}
}
}
}
但有了它,我没有结果...... 我想执行像php in_array(" GB",purchase.zones)中的查询。
任何帮助都会非常有帮助。
答案 0 :(得分:1)
如果您的“购买”字段是嵌套类型,则必须使用嵌套查询来访问“区域”。
{
"nested" : {
"path" : "obj1",
"score_mode" : "avg",
"query" : {
"bool" : {
"must" : [
{
"match" : {"obj1.name" : "blue"}
},
{
"range" : {"obj1.count" : {"gt" : 5}}
}
]
}
}
}
}
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html