【发布时间】:2015-09-12 18:19:14
【问题描述】:
我在查询数组中的对象时遇到问题。 让我们创建一个非常简单的索引,添加一个带有一个字段的类型并添加一个带有对象数组的文档(我使用感觉控制台):
PUT /test/
PUT /test/test/_mapping
{
"test": {
"properties": {
"parent": {"type": "object"}
}
}
}
POST /test/test
{
"parent": [
{
"name": "turkey",
"label": "Turkey"
},
{
"name": "turkey,mugla-province",
"label": "Mugla (province)"
}
]
}
现在我想同时搜索名称 "turkey" 和 "turkey,mugla-province" 。第一个查询工作正常:
GET /test/test/_search {"query":{ "term": {"parent.name": "turkey"}}}
但是第二个什么都不返回:
GET /test/test/_search {"query":{ "term": {"parent.name": "turkey,mugla-province"}}}
我尝试了很多东西,包括:
"parent": {
"type": "nested",
"include_in_parent": true,
"properties": {
"label": {
"type": "string",
"index": "not_analyzed"
},
"name": {
"type": "string",
"store": true
}
}
}
但没有任何帮助。我错过了什么?
【问题讨论】:
-
您是否要搜索与 turkey AND mugla-province 或 turkey OR mugla-province 匹配的文档?
标签: elasticsearch search-engine