У меня есть репозиторий, где у меня есть учения, которые могут содержать 0..n
devotionals, который хорошо работает для отображения сводной информации в моих объявлениях. У меня есть одно поле, в котором суммируется количество связанных с этим преданностей. Проблема в том, что я хочу предоставить сводку граней рядом с листингом, чтобы позволить моим пользователям ограничивать список учений только теми, у кого есть связанные преданности.Как вы ведите диапазоны данных в ElasticSearch?
Я обнаружил, что если мои агрегирования указаны перед моим запросом, запрос полностью игнорируется. Это было очень удивительно для меня, поэтому я исправил свой запрос в JSON. Я не уверен, как обеспечить правильный порядок, используя NEST.
Мой запрос выглядит следующим образом:
{
"size": 3,
"sort": [ { "endDate": { "order": "desc" } } ],
"aggs": {
"teachers": {
"terms": { "field": "teachings.teacher.id" }
},
"audio": {
"terms": { "field": "teachings.hasAudio" }
},
"transcript": {
"terms": { "field": "teachings.hasTranscript" }
},
"landmark": {
"terms": { "field": "isLandmark" }
},
"devotionals": {
"terms": { "field": "teachings.numberOfDevotionals" }
}
}
}
Остальные агрегатах очень многое сделать то, что я хочу. Я могу получить список учителей и истинные/ложные ведра для других предметов. Часть, которую мне не устраивает, - это статья "devotionals"
в скоплениях. Поскольку поле является подсчетом, а не логическим, у меня может быть довольно много ведер с агрегацией terms
, и я просто хочу знать, есть ли у преподавателя любые devotionals или нет.
Как я могу получить количество документов для того, имеет ли учение преданное? Я просматривал документацию, и гистограммы не совсем соответствовали моей потребности, так как требуемые ведра - «0» и «1 или больше», а не интервалы с интервалом.
Не могли бы вы подробнее рассказать о _ «Я обнаружил, что если мои агрегирования перечислены перед моим запросом, то запрос полностью игнорируется». _? –
У меня было предложение запроса, которое ограничивало учебные документы теми, у кого был список совпадающих терминов (т. Е. Роли людей, которых можно было увидеть), а также ограничение учителя. Когда раздел запроса был последним в списке, как мои результаты, так и агрегаты вели себя так, как будто не было раздела запроса. Когда я помещаю раздел запроса перед агрегатами, тогда ограничения применяются к обоим. Это было удивительно для меня. –
Не могли бы вы представить проблему на https://github.com/elastic/elasticsearch-net/issues с примером? –