【发布时间】:2018-07-21 21:42:03
【问题描述】:
如何从索引中获取所有唯一文档。我是否需要为文档的所有字段编写聚合查询。我可以在不为每个字段编写聚合的情况下获得唯一的文档吗?
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation elasticsearch-dsl elasticsearch-query elasticsearch-mapping
如何从索引中获取所有唯一文档。我是否需要为文档的所有字段编写聚合查询。我可以在不为每个字段编写聚合的情况下获得唯一的文档吗?
【问题讨论】:
标签: elasticsearch elasticsearch-aggregation elasticsearch-dsl elasticsearch-query elasticsearch-mapping
你可以用脚本做到这一点:
PUT test/doc/1
{ "field1": "value1", "field2": "value2" }
PUT test/doc/2 { "field1": "value2", "field2": "value3" }
PUT test/doc/3 { "field1": "value1", "field2": "value3" } PUT test/doc/4 { "field1": "value3", "field2": "value4" }
GET test/_search { "size": 0, "aggs": { "cardinality": { "cardinality": { "script": { "inline": "[ doc['field1'].value, doc['field2'].value ]" } } } } }
【讨论】: