Я пытаюсь написать простой запрос регулярного выражения, используя elasticsearch в python, который просто не будет работать. Может ли кто-нибудь сказать мне, где я ошибаюсь?
result = es.search(index="my-index", body={"query": {"regexp": {"Name": "Vi.*" }}})
Индексированный документ представляет собой список имен, в котором есть и мое имя (Виттал Бхандари). Приведенный выше запрос всегда дает пустые результаты, когда вместо этого он должен возвращать мое имя. Документ правильно проиндексирован, и другие запросы работают нормально. Например, запрос соответствия дает требуемый результат.
result = es.search(index="my-index", body={"query": {"match": {"Name": "Vitthal" }}})
В чем проблема с regexp-запросом, который я пишу, что он не даст никакого результата? Какие-либо предложения?
** РЕДАКТИРОВАТЬ: ** Сопоставление имени приведено ниже:
"Name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
},