我正在尝试在搜索的弹性搜索中获得组的唯一值。我无法弄清楚为什么这不行为。弹性搜索唯一字段值
我已经经历了许多StackOverflow问题,并阅读了大部分时间的文档。没有什么似乎为我工作,下面我提供了我最后的尝试。
是否有任何理由有人想要一次返回相同的结果?也许是文档的不同版本?
在这个例子中,我想所有mfr_id
的的上市,他们的mfr_desc
为好。我正在通过一个类型运行这个来搜索文档字段值。看来Agg条款是完成这个任务的方式,有没有人看到我做错了什么?
1:API调用
GET /inventory/item/_search
{
"size": 0,
"_source": ["mfr_id", "mfr_desc"],
"aggs": {
"unique_vals": {
"terms": {
"field": "mfr_id.keyword"
/** I have to use .keyword, seems like my mappings isn't working */
}
}
}
}
2:映射文件
我做了批量导入后运行的映射是非常简单的。我读,如果你想有一个唯一的查询不密钥分析:
{
"index": "inventory",
"body": {
"settings": {
"number_of_shards": 1
},
"mappings": {
"_default_": {
"properties": {
"mfr_id": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
3:我的结果 聚集了〜10个记录时,大约有100我真的很希望能够得到_source
如果可能的话,这些领域不仅仅是一个关键。
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 49341,
"max_score": 0,
"hits": []
},
"aggregations": {
"unique_vals": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 6815,
"buckets": [
{
"key": "14",
"doc_count": 24292
},
{
"key": "33",
"doc_count": 5508
},
...
哇,谢谢!我不会试过这个。我感到惊讶的是,文件并不清晰。它没有提供这样的例子;或者如果确实存在,我找不到它。这很聪明,我想知道为什么像这样简单这样的功能是如此微不足道。另外,你的个人资料中有非常好的技能。 – JREAM
感谢您的赞美:) –