преобразовать запрос easticsearch в однострочную команду curl для регулярного выражения - PullRequest
1 голос
/ 17 июня 2020

У меня есть запрос elasticsearch, который выглядит так:

{
    "query" : {
        "regexp":{
            "userName": ".+"
        }
    }
}

Я хочу преобразовать его в однострочный формат запроса: то, что я могу использовать с? Q = в URL-адресе. Что это должно быть? Зачем я это делаю? : Я хочу загрузить данные из elasticsearch в Hive. Поскольку данные огромны, я хочу загружать только запрашиваемые данные. Есть ли способ включить вышеуказанный запрос в свойства таблицы улья в поле es.query или что-то в этом роде. Спасибо

1 Ответ

1 голос
/ 17 июня 2020

URI Search придерживается строки запроса Lucene синтаксис регулярных выражений .

При этом вы можете использовать регулярные выражения в строки запроса, если вы заключите их в косую черту:

GET index_name/_search?q=userName:/.{1,}/

.+ по какой-то причине не работает.


Предупреждение из документации:

Параметр allow_leading_wildcard не контролирует регулярные выражения. Строка запроса, подобная следующей, заставит Elasticsearch посещать все термины в индексе:

/. * N /

Используйте с осторожностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...