Проблема с подсчетом граней

Я пытаюсь использовать ElasticSearch для аналитики --, специально для отслеживания «основного контента» для -созданной вручную Rails CMS. Требование немного сложнее, чем хранение счетчика для каждого фрагмента контента. Я не буду сейчас углубляться в проблему, так как не могу понять даже основы.

Моя проблема в том, что :я использую фасеты, и количество не соответствует ожидаемому. Например:

Запрос:

{"facets":{"el_ids":{"terms":{"field":"el_id","size":1,"all_terms":false,"order":"count"}}}}

Результат:

{"el_ids":{"_type":"terms","missing":0,"total":16672,"other":16657,"terms":[{"term":"quis","count":15}]}}

Хорошо, отлично, у части контента с идентификатором "quis" было 15 обращений, и поскольку orderравно count, это должно быть моим главным содержанием. Теперь давайте получим 5 лучших частей контента.

Запрос:

{"facets":{"el_ids":{"terms":{"field":"el_id","size":5,"all_terms":false,"order":"count"}}}}

Результат (только грань):

[
  {"term":"qgz9","count":26},
  {"term":"quis","count":15},
  {"term":"hnqn","count":15},
  {"term":"higp","count":15},
  {"term":"csns","count":15}
]

Хм? Значит, у части контента с идентификатором «qgz9» было больше просмотров — 26? Почему это не было лучшим результатом в первом запросе?

Хорошо, теперь давайте возьмем топ-100.

Запрос:

{"facets":{"el_ids":{"terms":{"field":"el_id","size":100,"all_terms":false,"order":"count"}}}}

Результаты (только грань):

[
  {"term":"qgz9","count":43},
  {"term":"difc","count":37},
  {"term":"zryp","count":31},
  {"term":"u65r","count":31},
  {"term":"sxsi","count":31},
 ...
]

Так что теперь у "qgz9" 43 попадания вместо 26? Как это может быть? Я могу заверить вас, что в фоновом режиме ничего не происходит, изменяя индекс. Если я повторю эти запросы, я получу те же результаты.

Когда я повторяю этот процесс увеличения размера результата, счетчики продолжают меняться, и новые идентификаторы контента появляются вверху. Может ли кто-нибудь объяснить мне, что я делаю неправильно или где мое понимание того, как это работает, ошибочно?

6
задан Cœur 8 February 2018 в 20:29
поделиться