Запрос Elasticsearch - результатов не найдено - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь сделать что-то очень простое, я верю, но не понимаю, почему я не получаю правильные результаты.

В нашей Кибане, когда на вкладке Discover, если я хочуПосмотрите историю всех данных (выбор за последние 5 лет), я получаю ~ 500 миллионов просмотров.Если затем я добавлю простой фильтр - database is postgres-prod, я получу около 137M обращений, поэтому фильтр на вкладке Discover работает.Я даже вижу фильтр DSL (если я иду, чтобы отредактировать фильтр), и он выглядит так:

{
  "query": {
    "match": {
      "database": {
        "query": "postgres-prod",
        "type": "phrase"
      }
    }
  }
}

enter image description here

Теперь проблема в том,когда я в Kibana Dev Tools и пытаюсь сделать то же самое.Если я делаю только match_all запрос, я получаю то же самое, ~ 500 млн. Обращений, как и ожидалось:

GET /logstash-*/_search

{
    "query": {
        "match_all": {}
    }
}

response:
{
  "took": 2347,
  "timed_out": false,
  "_shards": {
    "total": 155,
    "successful": 155,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 500708223,
    "max_score": 1,
    "hits": [

Проблема в том, что при любом запросе я всегда получаю результаты 500M.Хиты, а не ожидаемые 137M, как я вижу на вкладке обнаружения.Даже если я применяю точно такой же запрос, который вижу в фильтре Discover, например:

GET /logstash*/_search

{
  "query": {
    "match": {
      "database": {
        "query": "postgres-prod",
        "type": "phrase"
      }
    }
  }
}

response:
{
  "took": 2313,
  "timed_out": false,
  "_shards": {
    "total": 155,
    "successful": 155,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 500709434,
    "max_score": 1,
    "hits": [

Я также пробовал много других запросов, например, этот запрос bool, но всегда получал результат 500M.хиты.Как будто все запросы, которые я пробую, игнорируются

GET /logstash-*/_search

{
  "query": { 
    "bool": { 
      "must": [
        { "match": {
            "database": {
              "query": "postgres-prod",
              "type": "phrase"
            }
          }
        }
      ]
    }
  }
}
response:
{
  "took": 2338,
  "timed_out": false,
  "_shards": {
    "total": 155,
    "successful": 155,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 500714297,
    "max_score": 1,
    "hits": [

Кто-нибудь знает, что я могу делать неправильно, почему запрос не сужает мой поиск?

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