У индекса Elasticsearch есть документы json, подобные этому
{
id: ABC120379013
name: Matlo Jonipa
jobs: {nested data}
}
При определении схемы индекса я регистрирую идентификатор как ключевое слово.
Теперь мне нужно написать запрос, который может вернуть все документы, где 4-йchar в значении поля id является цифрой 9.
# matched docs
id: ABC920379013,
id: Zxr900013000
...
У меня есть два вопроса для этого варианта использования.
1- Правильно ли я индексирую его, когда задаю id в качестве поля ключевого слова?Я чувствую, что должен использовать какой-то анализатор, но я не знаю, какой именно.
2- Может ли кто-нибудь подсказать мне, как написать запрос, соответствующий n-му символу поля?
Я могуиспользовать это регулярное выражение для сопоставления строки, чей 4-й символ равен 9, но могу ли я использовать ее в запросе эластичного поиска?
/^...9.*$/
or
/^.{3}9.*$/