愚者求师之过,智者从师之长。

elasticsearch 查询求解

Elasticsearch | 作者 luohui | 发布于2016年10月18日 | 阅读数:2456

做 elasticsearch 开发时遇到一个问题,有没有熟悉 es 的大神帮忙看下,如下的一个数据: 
content traceid 
c1       t1 
c2       t1 
c1      t2 
c3      t2 
c4      t3
 

希望根据 content = c1 , content= c2 这两个查询条件唯一确定 traceid = t1 的这条记录,想了好久没能写出一个正确的 dsl ,求大神帮忙看下.

另外现在是用的 spring-data-elasticsearch 做的开发,这个的文档也大致看了遍,没能找到解决方案。。。
已邀请:

martindu - 搜披露创始人

赞同来自: medcl

给我的感觉是,你现在traceid=t1有两条记录,并不是唯一的。建议你重新设置一下mapping,将content字段作为一个数组字段,即{"tracdeid":"t1","content":["c1","c2"]}这种。然后用bool query在must里面加两个term query content=c1和content=c2。

要回复问题请先登录注册