Elasticsearch返回不同的结果

时间:2015-01-09 17:17:46

标签: elasticsearch distinct

这是我的ES查询:

  {
    "fields": [
      "news.authorname.raw",
      "news.authorid"
    ],
    "query": {
      "filtered": {
        "filter": {
          "terms": {
            "news.authorid": [
              1,
              2
            ]
          }
        }
      }
    }
  }

通过此查询,我得到了一对{authorid,authorname}的列表。这个列表重复{authorid,authorname}值,我只需要获得相同的列表,但没有重复。这似乎并不困难,或者至少这是我今天早上的想法。我对ES的小知识以及缺乏文档使我无法找到解决这一微不足道问题的方法。

当然,我可以通过代码获取整个列表并删除重复,但如果有可能,我会优先不接收不必要的数据,以便在之后将其删除。

任何人都可以帮忙吗?我应该使用其他方法吗?

提前致谢!!

1 个答案:

答案 0 :(得分:0)

我建议使用source filtering

  {
    "_source": [ "news.authorname.raw", "news.authorid" ],
    "query": {
      "filtered": {
        "filter": {
          "terms": {
            "news.authorid": [
              1,
              2
            ]
          }
        }
      }
    }
  }

通常比字段更容易处理,字段有时看起来像笛卡尔产品。