具有期间值的字段汇总

时间:2017-04-04 10:55:28

标签: javascript elasticsearch

我试图按帖子数量汇总热门用户列表。查询:

"top_users_posts" : {
  "terms" : {
    "size": 30,
    "field" : "user.username",
    "order": { "_count": "desc" }
  }
}

这导致一些非常奇怪的数据。用户名长度必须至少为3个字符,因此某人无法拥有用户名" 1"或" 2"。

"buckets": [
  {
    "key": "(real user)",
    "doc_count": 801
  },
  {
    "key": "1",
    "doc_count": 712
  },
  {
    "key": "(real user)",
    "doc_count": 614
  },
  {
    "key": "2",
    "doc_count": 587
  }
]

如果我查询

{
  "term": {
    "user.username": 1
  }
}

我发现它与1.someuser1.anotheruser1.someoneelse23等用户名相匹配。这些在我的应用程序中是完全有效的用户名,但是Elasticsearch将他们的帖子聚合在一起,而不是单独处理它们,因为它们在句点之前具有相同的值。

如何更改它以使其完全匹配(或逃避期间)。

0 个答案:

没有答案