标签:
需求:
搜索具有相同父id的所有子文档.
数据:
mapping:
{
"mappings": {
"branch": {},
"employee": {
"_parent": {
"type": "branch"
}
}
}
}父文档:
{ "index": { "_id": "london" }}
{ "name": "London Westminster", "city": "London", "country": "UK" }
{ "index": { "_id": "liverpool" }}
{ "name": "Liverpool Central", "city": "Liverpool", "country": "UK" }
{ "index": { "_id": "paris" }}
{ "name": "Champs Élysées", "city": "Paris", "country": "France" }
子文档:
{ "index": { "_id": 1, "parent": "london" }}
{ "name": "Alice Smith", "dob": "1970-10-24", "hobby": "hiking" }
{ "index": { "_id": 2, "parent": "london" }}
{ "name": "Mark Thomas", "dob": "1982-05-16", "hobby": "diving" }
{ "index": { "_id": 3, "parent": "liverpool" }}
{ "name": "Barry Smith", "dob": "1979-04-01", "hobby": "hiking" }
{ "index": { "_id": 4, "parent": "paris" }}
{ "name": "Adrien Grand", "dob": "1987-05-11", "hobby": "horses" }
curl GET company/employee/_search
"query":{
"has_parent":{
"type":"branch",
"query":{
"term":{
"_parent":"london"
}
}
}
}
}
curl GET company/employee/_search
{
"query": {
"has_parent": {
"type": "branch",
"query": {
"ids": {
"values" : ["london"]
}
}
}
}HasParentQueryBuilder hpqb=QueryBuilders.hasParentQuery("branch",QueryBuilders.idsQuery().ids("london"));我在stackoverflow上的提问链接:how to search child documents with the same parent id in Elasticsearch?
Elasticsearch Java API(八)--搜索有相同父id的子文档
标签:
原文地址:http://blog.csdn.net/napoay/article/details/52118408