У меня проблема с получением всех документов, у которых нет соответствующих других журналов по значению поля.Буду признателен за любую помощь.Проще всего объяснить с помощью примера:
У меня есть следующие 5 документов:
DOC1:
{
message: **Step1**,
id: 100
}
DOC2:
{
message: **Step2**,
id: 100
}
DOC3:
{
message: **Step1**,
id: 200
}
DOC4:
{
message: **Step2**,
id: 300
}
DOC5:
{
message: **StepX**,
id: 400
}
Итак, все, что я хотел бы получить в ответ на запрос, это все документыгде Step1 не имеет соответствующего Step2, где значение id одинаково.В приведенном ниже примере это ( ОТВЕТ Я ХОЧУ) : DOC3:
{
message: Step1,
id: 200
}
То, что я пробовал до сих пор, не является желаемым результатом.Это возвращает количество документов по идентификатору и возрастающему порядку, но поскольку у нас есть много других шагов, это не нормально, и результаты с количеством 1 не всегда будут правильными.
GET index/_search
{
"size": 0,
"aggs" : {
"langs" : {
"terms" : {
"field" : "id",
"size" : 10,
"order": {
"_count": "asc"
}
}
}
}
}
БОЛЬШЕ ДЕТАЛЕЙ В ответ мне нужны документы, которые не имеют 2 документа, связанных с одним полем идентификатора (каждый результат должен иметь только 1 документ с соответствующим идентификатором и message = Step1).