Я хотел бы использовать вложенное поле «точка» в качестве ключа для подсказки завершения (используя ElasticSearch 6.4).Это прекрасно работает:
PUT music/_doc/1?refresh
{
"suggest.music" : {
"input": [ "Nevermind", "Nirvana" ],
"weight" : 34
}
}
... но этот запрос на предложение не работает:
POST music/_search?pretty
{
"suggest": {
"song-suggest" : {
"prefix" : "nir",
"completion" : {
"field" : "suggest.music"
}
}
}
}
Он говорит: «Не найдено сопоставление для поля [offer.music]».Вот мое отображение:
{
"music" : {
"aliases" : { },
"mappings" : {
"_doc" : {
"properties" : {
"es_suggest" : {
"type" : "completion",
"analyzer" : "simple",
"preserve_separators" : true,
"preserve_position_increments" : true,
"max_input_length" : 50
},
"suggest" : {
"properties" : {
"music" : {
"properties" : {
"input" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},
"weight" : {
"type" : "long"
}
}
}
}
},
"title" : {
"type" : "keyword"
}
}
}
},
"settings" : {
"index" : {
"creation_date" : "1550842862212",
"number_of_shards" : "5",
"number_of_replicas" : "1",
"uuid" : "Dqr3XQJWTqC5YRvJjEvh5w",
"version" : {
"created" : "6060099"
},
"provided_name" : "music"
}
}
}
}
Есть ли способ запросить предложение о завершении с вложенным полем «точка»?