1

我有这个 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来做到这一点。网上有一些资料,但不是很清楚。

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

4

1 回答 1

2

您可以在字段上使用术语 Facet 查询name来做到这一点。

于 2012-09-28T02:28:56.323 回答