Разные термины для разных индексов в одном запросе, - PullRequest
0 голосов
/ 04 ноября 2019

можно ли получить в одном _search запросе элементы для 2 разных индексов с 2 разными терминами? то есть для индекса index_1 термины: lang: pl bool: false

для индекса index_2 термины: lang: en bool: true

И я хочу один ответ с записями. Если нет, как добиться консолидации из ответов из нескольких индексов с _msearch? то есть из index_1 у меня есть 1000 записей с _score от 10 до 100 и из index_2 у меня есть 10 записей с _score от 50 до 90, и мне нужно, чтобы это отсортировано по _score. Извините за мой английский. Надеюсь, вы понимаете меня :) Спасибо заранее.

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете настроить таргетинг на индекс в своем запросе, используя термин в индексе: "term": {"_index": ["indexA", "indexB"]}

Это работает как любой запрос bool.

Например:

POST http://IP:9200/_search

{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "must": [
              {
                      *******
              }
            ],
            "filter": [
              {
                "terms": {
                  "_index": [
                    "indexA",
                    "indexB"
                  ]
                }
              }
            ]
          }
        },
        {
          "bool": {
            "must": [
              {
                "term": {
                       *************
                  }
                }
              }
            ],
            "must_not": [
              {
                "terms": {
                  "_index": [
                    "indexC",
                    "indexD"
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  }
}

для вашего второго вопроса, вы должны искать функцию оценки.

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