2016-10-26 2 views
1

Если мы дадим точное совпадение или только один символ, он работает нормально, но если мы дадим 2 или 3 символа, auto complete не работает. Например, если мы дадим T или Test его работу, но если я дам Tes, он не работает.Auto Complete не работает в Elastic Search

Мои данные выглядит следующим образом

PUT /test/test/1 
{ 
    "id": "1", 
    "input": "Test", 
    "output": ["Testing", "Testing"] 
} 

PUT /test/test/2 
{ 
    "id": "2", 
    "input": "Test two", 
    "output":["Testing", "Testing"] 
} 

Мой упругая запрос

{ 
    "query": { 
     "query_string": { 
      "query": "tes" 
     } 
    } 
} 
+0

Как вы получаете результат с 'T'? вы используете какие-либо пользовательские анализаторы? Есть ли причина для запроса поля '_all'? – ChintanShah25

ответ

0

Вы забыли уайлдкард Я верю:

GET /test/test/_search 
{ 
    "query": { 
     "query_string": { 
      "query": "tes*" 
     } 
    } 
} 

Вы также можете использовать "query": "input:tes*" автозаполнение только одно конкретное поле.