Есть готовый индекс эластика использующийся для автодополнений. Разообрался как сделать фильтрацию по одному слову состоящему из букв, но не могу понять как сделать поиск так что бы можно было сделать поиск слов с пробелами. Например могу в поле names найти по запросу "Иванов" запись вида "Иванов Иван Иванович", но если я задам в поиск "Иванов Иван" то ничего не вернётся. Кусок кода:
SearchSourceBuilder search = SearchSourceBuilder.searchSource();
BoolQueryBuilder query = new BoolQueryBuilder();
String value = "Иванов Иван"; //строка которая ищется в индексе
query.must(QueryBuilders.regexpQuery("names",".*" + value.replaceAll("([+\\-!\\(\\){}\\[\\]^\"~*?:\\\\]|[&\\|]{2})", "\\\\$1") + ".*"));
search.query(query);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники