elasticsearch,Couchdb,elasticsearch" /> elasticsearch,Couchdb,elasticsearch" />

使用CouchDB和elasticsearch进行区分选择

使用CouchDB和elasticsearch进行区分选择,couchdb,elasticsearch,Couchdb,elasticsearch,我有这个CouchDB/设置。CouchDB作为存储,elasticsearch用于搜索 我需要执行这个查询 从表中选择不同的名称 在这个“表格” [ {name:'david'…更多数据}, {name:'david'…更多数据}, {name:'alex'…更多数据} {name:'alex'…更多数据} ] 要获得此信息: ['david','alex'] 或者这个: [ {姓名:'david'}, {名称:'alex'} ] 或者以任何形式,但不同查询的结果 使用CouchDB,

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

我需要执行这个查询

从表中选择不同的名称
在这个“表格”

[
{name:'david'…更多数据},
{name:'david'…更多数据},
{name:'alex'…更多数据}
{name:'alex'…更多数据}
]
要获得此信息:

['david','alex']
或者这个:

[
{姓名:'david'},
{名称:'alex'}
]
或者以任何形式,但不同查询的结果

使用CouchDB,可以通过以下方式完成:

//映射
功能(doc){
发出(文件名);
}
//减少
功能(键、值){
返回null;
}
但我想用elasticsearch来做。网上有一些信息,但不清楚


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

您可以使用字段
name

来实现它,所以查询如下所示?{“query”:{“match_all”:{},“facets”:{“tag”:{“terms”:{“field”:“name”,“size”:10}}}}}是的,如果您只想要10个最常出现的名称。如果您想要大于10,则需要增加
size
参数的值。是的,它也会返回所有记录,您可以通过在顶层添加“size”:0或将&search\u type=count添加到url来抑制它。字段可以在“facets”元素中找到,该元素通常出现在记录之后。