我试图在这里解决问题,我甚至不确定如何完成我想要的工作。 基本上我需要在类型公司上查询我的索引。此类型具有名为Company_Name的字段。现在我有另一种类型,即Employee,它也有一个名为Company_Name的字段,基本上#34;链接他"致公司。
我需要做的是在我的公司查询中进行汇总,从而获得公司内部员工的数量(每个结果)。
有什么办法吗?
编辑:
映射:
"company" : {
"properties" : {
"company_name" : {
"type" : "text"
}
}
},
"employee" : {
"properties" : {
"employee_name" : {
"type" : "text"
},
"company_name" : {
"type" : "text"
}
}
}
答案 0 :(得分:0)
不确定我是否完全理解你想要的但是你提到了:
现在我有另一种类型,即Employee,它有一个名为Company_Name
的字段
然后你说你想要的,和公司在一起的员工数量。
对我来说,看起来你需要的只是公司员工doc类型的聚合。
如果您确实需要查询两个索引,那么您可以将多索引搜索和聚合应用于多索引搜索的结果。
这或与此接近的事情应该有效:
http://localhost:9200/$index/employee/_search?search_type=count
{
"aggs" : {
"company" : {
"terms" : {
"field" : "company_name"
}
}
}
}
有人认为您应该注意的是,如果您的字段company_name被分析,它将被标记化,您无法对其进行聚合。然后,您应该添加一个带有公司名称的原始字段,以用于汇总。
一些有用的参考资料:
https://www.elastic.co/guide/en/elasticsearch/guide/current/relations.html
https://www.elastic.co/guide/en/elasticsearch/guide/current/_closing_thoughts.html和