Всем привет.
Есть задача - формировать запрос на выборку данных из Elasticsearch, при условии, что может быть указан список значений слов в виде регулярных выражений + список слов исключений(без использования регулярных выражений).
Я не разобрался как передавать эластику список значений для условия по регулярке, поэтому каждое условие регулярки разделил символом "|", интересует как можно сделать иначе.
В примере ищим совпадения по "мульт.*" и по "фильм.*", а в блоке "must_not" - слова исключения. Подскажите как написать запрос, чтобы не мудрить с символом "|". И ещё вопрос не по теме, можно ли вообще как-то проверить правильно регулярного выражения, сделать его валидацию, например на PHP ?
"query": { "regexp":{
"word" : "мульт.*|фильм.*"
}},
"filter": {
"bool": {
"must_not": [
{"terms": {
"word": ["видео", "скачать"]
}}
]
}
}