Завершение Elasticsearch предлагает поиск с несколькими словами ввода

При использовании подсказки завершения Elasticsearch у меня возникают проблемы с возвратом подсказок из нескольких слов, соответствующих запросу из одного слова.

Пример структуры:

PUT /test_index/
{
   "mappings": {
      "item": {
         "properties": {
            "test_suggest": {
               "type": "completion",
               "index_analyzer": "whitespace",
               "search_analyzer": "whitespace",
               "payloads": false
            }
         }
      }
   }
}

PUT /test_index/item/1
{
   "test_suggest": {
      "input": [
         "cat dog",
         "elephant"
      ]
   }
}

Рабочий запрос:

POST /test_index/_suggest
{
    "test_suggest":{
        "text":"cat",
        "completion": {
            "field" : "test_suggest"
        }
    }
}

с результатом

{
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "test_suggest": [
      {
         "text": "cat",
         "offset": 0,
         "length": 3,
         "options": [
            {
               "text": "cat dog",
               "score": 1
            }
         ]
      }
   ]
}

Неверный запрос:

POST /test_index/_suggest
{
    "test_suggest":{
        "text":"dog",
        "completion": {
            "field" : "test_suggest"
        }
    }
}

с результатом

{
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "test_suggest": [
      {
         "text": "dog",
         "offset": 0,
         "length": 3,
         "options": []
      }
   ]
}

Я ожидал бы того же результата, что и рабочий запрос, совпадающий с 'cat dog'. Любые предложения, в чем проблема и как заставить ошибочный запрос работать? Я получаю те же результаты при использовании стандартного анализатора вместо анализатора пробелов. Я хотел бы использовать несколько слов на входную строку, как показано в примере выше.

Ответы на вопрос(1)

Ваш ответ на вопрос