У меня есть поле в индексе ElasticSearch 6, которое можно сопоставить с регулярным выражением.Мне нужно отсортировать результаты поиска так, чтобы документы со значениями, которые совпадали, шли раньше, чем те, которые этого не делают.Есть ли какой-нибудь способ использовать регулярное выражение в предложении сортировки?
Пример документа:
"mappings" : {
"unit" : {
"properties" : {
"description" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
}
Я думал о такой сортировке скриптов:
"sort" : {
"_script" : {
"type" : "number",
"script" : {
"source": "regex('some_regexp_here').match(doc['description'].value) ? 1 : 0 ",
},
"order" : "desc"
}
}
Возможно ли это?Есть ли другие обходные пути?Спасибо.