RegExp в ElasticSearch

102
16

Я знаю, что в ElasticSearch мы можем запросить использование регулярного выражения. Но возможно ли хранить регулярное выражение в поле поиска elastics?

Пример:

Предположим, у меня есть 2 столбца в моем csv: column1; column2

и сырое действие A: ' action';'work(s|ing)?'

Когда я хочу иметь все raws, где column2 соответствует слову "works", я должен получить raw A

спросил(а) 2018-12-07T14:42:00+03:00 1 год, 10 месяцев назад
1
Решение
90

Я думаю, что в ES это невозможно.

Нечеткий запрос решает мою проблему, и он работает хорошо.

ответил(а) 2018-12-10T11:54:00+03:00 1 год, 10 месяцев назад
40

GET indename/_search
{
"query": {
"regexp": {
"columnname": "*;works*"
}
}
}

Я не уверен в вашей схеме ES. Однако я предполагаю, что данные хранятся в одном столбце в ES. И я так полагаю ; разделяет второй столбец. Просто просмотрите его. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-regexp-query.html.

ответил(а) 2018-12-07T15:06:00+03:00 1 год, 10 месяцев назад
41

Я новичок в ES, я не уверен, что понял ваш вопрос.

У меня был файл csv с 2 столбцами (тип: строка). Я использовал logstash для загрузки в ES. Итак, теперь у меня есть данные в одном индексе с именем: 'instance1'

ответил(а) 2018-12-07T14:52:00+03:00 1 год, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема