如何在弹性搜索中加入父母和孩子 [英] How join parent and child in elasticsearch
本文介绍了如何在弹性搜索中加入父母和孩子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如我的映射:
{
street:{
properties :$ {
$ c>
和
{
address:{
_parent:{
type:street
},
properties:{
house_number
type:string
}
}
}
}
数据:
{_ type:street,_ id AU_LQH9ZcB6int_hskH3,_ source:{street_name:Street}}
{_type:address,_ id:AUrLQH_XcB6int_hskH4,_ source:{house_number我们可以在一个查询中获得类似的结果: p>
{
_type:address,
_id:AUrLQH_XcB6int_hskH4,
house_number:10,
street_nam e:街
}
当然,元素,我可以加入应用程序中的类型,但是如何处理大型列表?
谢谢!
解决方案也许这样的事情,不要以为有很好的分组方式: / p>
GET / postal_codes / street / _search?search_type = count
{
aggs:{
street:{
terms:{
field:street_name
},
aggs:{
addresses {
children:{
type:address
},
aggs:{
number:{
条款:{
field:address.house_number
}
}
}
}
}
}
}
}
How join parent and child in elasticsearch?
For example my mapping:
{
"street":{
"properties":{
"street_name":{
"type":"string"
}
}
}
}
and
{
"address":{
"_parent":{
"type":"street"
},
"properties":{
"house_number":{
"type":"string"
}
}
}
}
Data:
{"_type":"street","_id":"AUrLQH9ZcB6int_hskH3","_source":{"street_name":"Street"}}
{"_type":"address","_id":"AUrLQH_XcB6int_hskH4","_source":{"house_number":"10"}}
How i can get similar result in one query:
{
"_type":"address",
"_id":"AUrLQH_XcB6int_hskH4",
"house_number":"10",
"street_name":"Street"
}
Of course, for a single element, i can join types in application, but what to do with large lists?
Thanks!
解决方案 Maybe something like this, don't think there is a way of grouping them nicely:
GET /postal_codes/street/_search?search_type=count
{
"aggs": {
"street": {
"terms": {
"field": "street_name"
},
"aggs": {
"addresses": {
"children": {
"type": "address"
},
"aggs": {
"number": {
"terms": {
"field": "address.house_number"
}
}
}
}
}
}
}
}
这篇关于如何在弹性搜索中加入父母和孩子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文