一尘不染

使用CouchDB和Elasticsearch进行不同的选择

elasticsearch

我有这个CouchDB /
elasticsearch设置。CouchDB作为存储,elasticsearch用于搜索。

我需要执行此查询,

select distinct name from table

在这个 “表”中

[
  {name:'david' ... more data},
  {name:'david' ... more data},
  {name:'alex' ... more data}
  {name:'alex' ... more data}
]

得到这个:

  ['david', 'alex']

或这个:

  [
      {name:'david'},
      {name:'alex'}
  ]

或采用任何形式,但不同查询的结果除外。

使用CouchDB可以做到这一点:

// map
function(doc) {
    emit(doc.name);
}

// reduce
function(keys, values) {
   return null;
}

但是我想用elasticsearch做到这一点。网络上有一些信息,但不清楚。

有人可以指出我正确的方向来实现我想要的吗?


阅读 392

收藏
2020-06-22

共1个答案

一尘不染

您可以在字段上使用“
条款构面查询”来执行此操作name

2020-06-22