我已经为那些已经动态创建的文档编制索引,所以我的意思是在创建新字段(动态)的同时创建了映射.
{
"user":"living_team",
"timestamp":"2015-12-14T18:06:47.085Z",
"matter":"snip2.PNG",
"comment":"Archive",
"channel":"Feina",
"feedTypes":[
20
],
"property_general_ldate":"2015-12-14T18:06:47.085Z",
"property_tSize":7595.0,
"resources":[
{
"timestamp":"2015-12-14T16:58:00.598Z",
"matter":"snip2.PNG",
"comment":"Archive",
"channel":"Feina",
"feedType":20,
"mime":"image/png",
"source":{
"sourceId":{
"id":"C:\\Users\\Beep\\Desktop\\share\\snip2.PNG",
"batch":"c38eec2d-a282-11e5-baf4-382c4ab9e433",
"client":"VIM12HCNZL"
},
"feedType":20,
"property_folder":"C:\\Users\\Beep\\Desktop\\share",
"property_lastAccessFolder_ldate":1450111821506
},
"property_size":7595.0,
"property_creation_ldate":"2015-12-14T16:50:20.578Z",
"property_name":"snip2.PNG",
"nestedResources":[
]
}
]
Run Code Online (Sandbox Code Playgroud)
}
我需要获得以下文件:resources.source.sourceId.id is exactly "X".我尝试过这个查询,但结果是空的.
curl -XGET 'http://ESNode01:9201/living_team/inputs/_search?pretty' -d '{
"query":{
"filtered":{
"query":{
"term":{
"resources.source.sourceId.batch":"3fcb8905-a307-11e5-88de-382c4ab9e433"
}
},
"filter":{
"match":{
"channel":"FeINa"
}
}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
Val*_*Val 12
这是同样的问题,因为在你的另一个问题,即在resources.source.sourceId.batch串领域已经创建作为一个analyzed字段,因此价值c38eec2d-a282-11e5-baf4-382c4ab9e433已经被符号化到五个标记c38eec2d,a282,11e5,baf4,382c4ab9e433.
处理此问题的正确方法是not_analyzed为该字段设置特定映射.
另一个临时的方法是使用query_string完全匹配的查询:
curl -XGET 'http://ESNode01:9201/living_team/inputs/_search?pretty' -d '{
"query":{
"filtered":{
"query":{
"query_string":{
"query": "resources.source.sourceId.batch:\"3fcb8905-a307-11e5-88de-382c4ab9e433\""
}
},
"filter":{
"match":{
"channel":"FeINa"
}
}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4127 次 |
| 最近记录: |