我在弹性搜索索引中有一个字段"EmployeeName" - 我想执行一个查询,它将返回所有存在重复值"EmployeeName"的情况.可以这样做吗?
我发现more_like_this但这需要"like_text"的字段值.但我的要求是在不知道其价值的情况下获取具有重复名称的员工名单.
{
"more_like_this" : {
"fields" : ["EmployeeName"],
"like_text" : "Mukesh",
"min_term_freq" : 1,
"max_query_terms" : 12
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢
关心穆克什
bit*_*kar 13
你可以用Terms Aggregation它.
POST <index>/<type>/_search?search_type=count
{
"aggs": {
"duplicateNames": {
"terms": {
"field": "EmployeeName",
"size": 0,
"min_doc_count": 2
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这将返回EmployeeName至少2个文档中出现的字段的所有值.
小智 10
这将是当前 Elasticsearch 版本的查询:
GET <index>/_search
{
"size": 0,
"aggs": {
"duplicateNames": {
"terms": {
"field": "EmployeeName",
"min_doc_count": 2
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12138 次 |
| 最近记录: |