我有一个字段" EmployeeName"在弹性搜索索引中 - 我想执行一个查询,它将返回所有存在重复值" EmployeeName"的情况。可以这样做吗?
我找到了more_like_this,但这需要" like_text"的字段值。 但我的要求是在不知道其价值的情况下获取具有重复名称的员工名单。
{
"more_like_this" : {
"fields" : ["EmployeeName"],
"like_text" : "Mukesh",
"min_term_freq" : 1,
"max_query_terms" : 12
}
}
先谢谢
此致 穆克什
答案 0 :(得分:10)
您可以使用Terms Aggregation
。
POST <index>/<type>/_search?search_type=count
{
"aggs": {
"duplicateNames": {
"terms": {
"field": "EmployeeName",
"size": 0,
"min_doc_count": 2
}
}
}
}
这将返回至少2个文档中出现的字段EmployeeName
的所有值。
答案 1 :(得分:0)
这将是当前Elasticsearch版本的查询:
organization_core_id, slug, name
1, dolphin, Dolphin v2
2, sea-horse-club, Sea Horse