Рейтинг:0

Как получить отдельный вывод разных match_phrase внутри одного запроса

флаг ng
abc

Я могу запустить запрос ниже, который дает ответ как общее количество из двух match_phrase.

Вставка фиктивных данных, как показано ниже.

ПОСТ /mod1/_bulk
{ "показатель" : { } }
{ "сообщение": "BA1" }
{ "показатель" : { } }
{ "сообщение": "BA2" }
{ "показатель" : { } }
{ "сообщение": "BA2" }
{ "показатель" : { } }
{ "сообщение": "BA1" }
{ "показатель" : { } }
{ "сообщение": "BA2" }
{ "показатель" : { } }
{ "сообщение": "BA1" }
{ "показатель" : { } }
{ "сообщение": "BA1" }
{ "показатель" : { } }

Запрос -

ПОЛУЧИТЬ mod1/_search
{
  "размер": 0,
  "запрос": {
    "буль": {
    "должен": [
        {
          "match_phrase": {
            "сообщение": "BA1"
          }
        },
        {
          "match_phrase": {
            "сообщение": "BA2"
          }
        }
      ]
    }
  }
}

Ответ -

{
  "взял": 0,
  "timed_out": ложь,
  "_осколки": {
    "всего" : 1,
    «успешно»: 1,
    "пропущено": 0,
    "не удалось" : 0
  },
  "хиты" : {
    "общее количество" : {
      "значение": 7,
      "отношение": "экв"
    },
    "max_score": ноль,
    "хиты" : [ ]
  }
}

Получение ответа как 7, так как ВА1 является 4 и ВА2 является 3, так что это дает сумму двух match_phrase, Как я могу получить ответ, как показано ниже, то есть отдельный вывод двух match_phrase?

.
.
"БА1"
"хиты" : {
    "общее количество" : {
      "значение": 4,

.
.
"БА2"
"хиты" : {
    "общее количество" : {
      "значение": 3,

Спасибо,

abc avatar
флаг ng
abc
Единственный способ, который я знаю в настоящее время, - это запустить отдельный запрос с каждой «match_phrase», но есть много «match_phrase», которые нужно сопоставить, и я не хочу создавать несколько запросов, а вместо этого хочу создать один запрос curl, который будет иметь несколько «match_phrase».
флаг ng
Это не всегда будет сумма, поскольку документ может соответствовать нескольким запросам одновременно. Если только это не поле ключевого слова; тогда подойдет простая агрегация терминов.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.