уберите знак доллара из вашего выражения регулярного выражения.
{
"query": {
"regexp": {
"message.keyword": "I,.* "
}
}
}
ОБНОВЛЕНИЯ (из моих комментариев)
- Почему знак доллара не работает ? ИМХО, документация Elastic немного вводит в заблуждение. Первый абзац (тот, который упоминает
^
и $
якоря) говорит о " большинстве движков регулярных выражений ", но не о Elasticsearch. Фактически, в следующем параграфе говорится, что « шаблоны Lucene всегда привязаны », и, поскольку Lucene поддерживает Elasticsearch, вам не нужно явно определять ^
и $
в своем регулярном выражении.
- Производительность . Этот тип запроса очень дорогой и может быстро снизить производительность. Я бы предложил переосмыслить структуру и / или отображение ваших документов.