Elasticsearch - Как работает максимальное расширение? - PullRequest
0 голосов
/ 07 марта 2019

Я тестирую, как работают свойства match_phrase_prefix и max extension в Elasticsearch. Ссылаясь на документацию по максимальному расширению:

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query-phrase-prefix.html

Затем он просматривает отсортированный словарь терминов, чтобы найти первые 50 терминов. которые начинаются с f, и добавляет эти термины к фразе запроса.

Итак, я добавил 3 документа в свой тестовый индекс:

  • пробует Elasticsearch
  • пробует Elasticsearch2
  • пробует Elasticsearch3

Затем, когда я пытаюсь выполнить запрос с max_expansion, установленным в 2, я получаю все документы вместо 2.

GET /_search
{
    "query": {
        "match_phrase_prefix" : {
            "message" : {
                "query" : "trying out E",
                "max_expansions" : 2
            }
        }
    }
}

Результат:

{
      "took": 11,
      "timed_out": false,
      "_shards": {
        "total": 34,
        "successful": 34,
        "skipped": 0,
        "failed": 0
      },
      "hits": {
        "total": 3,
        "max_score": 1.7260926,
        "hits": [
          {
            "_source": {
              "message": "trying out Elasticsearch2"
            }
          },
          {
            "_source": {
              "message": "trying out Elasticsearch"
            }
          },
          {
            "_source": {
              "message": "trying out Elasticsearch3"
            }
          }
        ]
      }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...