Есть ли способ вернуть sku в порядке, с которого начинается поле, без добавления каких-либо дополнительных данных в индекс?
Пример поискового запроса: EXP-0931
Этовозвращение: NI-EXP-0931 в качестве первого результата, во втором - EXP-0931/03 / P
Мы хотим, чтобы продукты с EXP * были первыми, я пытался отключить нечеткость, ограничиваясь толькоУ поля sku и т. д. есть документы, которые не могут заставить работать постоянный запрос.
Отображение для моего поля sku:
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
Пример запроса POST
{
"query": {
"match": {"sku": "EXP"}
}
}
Пример результата
{
"took": 9,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 0.5989681,
"hits": [
{
"_index": "magento2_en_catalog_product_20190202_000937",
"_type": "product",
"_id": "398925",
"_score": 0.5989681,
"_source": {
"sku": "NI-EXP-0931"
}
},
{
"_index": "magento2_en_catalog_product_20190202_000937",
"_type": "product",
"_id": "398923",
"_score": 0.55341274,
"_source": {
"sku": " EXP-0931/03/P"
}
}
]
}
}
Использование отображения Shingle
"sku": {
"type": "text",
"fields": {
"untouched": {
"type": "keyword"
}
},
"copy_to": [
"search",
"spelling"
],
"analyzer": "shingle"
},