Мне удалось создать работающую службу автозаполнения, используя Elasticsearch с Spring Boot, но я не могу назначить разные веса для предложений автозаполнения.
Когда я строю объект Completion
(org.springframework.data.elasticsearch.core.completion.Completion
), я использую стандартный конструктор, а затем я присваиваю вес объекту, например (я использую Kotlin)
val completion = Completion(arrayOf("Sentence one", "Second sentence"))
completion.weight = 10
(...)
myEntity.suggest = completion
что дает следующий JSON для Elasticsearch
{
"suggest" : {
"input": [ "Sentence one", "Second sentence" ],
"weight" : 10
}
}
Но, согласно документации Elasticsearch (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html), я бы хотел достичь чего-то подобного
{
"suggest" : [
{
"input": "Sentence one",
"weight" : 10
},
{
"input": "Second sentence",
"weight" : 5
}
]
}
Возможно ли это с spring-data-elasticsearch
? Если да, как я могу это сделать?