Od wersji 5:
_suggest końcowym została zastąpiona korzystania z sugestii poprzez punkt końcowy _search. W wersji 5.0 punkt końcowy _search został zoptymalizowany pod kątem sugerowania tylko żądań wyszukiwania.
(od https://www.elastic.co/guide/en/elasticsearch/reference/5.5/search-suggesters.html)
lepszy sposób to zrobić przy użyciu Search API z suggest
opcji
from elasticsearch import Elasticsearch
es = Elasticsearch()
text = 'ra'
suggest_dictionary = {"my-entity-suggest" : {
'text' : text,
"completion" : {
"field" : "suggest"
}
}
}
query_dictionary = {'suggest' : suggest_dictionary}
res = es.search(
index='auto_sugg',
doc_type='entity',
body=query_dictionary)
print(res)
Upewnij się, że indeksowane każdy dokument z suggest
dziedzinie
sample_entity= {
'id' : 'test123',
'name': 'Ramtin Seraj',
'title' : 'XYZ',
"suggest" : {
"input": [ 'Ramtin', 'Seraj', 'XYZ'],
"output": "Ramtin Seraj",
"weight" : 34 # a prior weight
}
}
Nie jasne, czy jest to możliwe, są otwarte problemy [tutaj] (https://github.com/aparo/pyes/issues/334) i [ tutaj] (https://github.com/aparo/pyes/issues/387) do tego. –