Описание тега elasticsearch-scripting

С помощью сценариев вы можете оценивать пользовательские выражения в Elasticsearch. Например, вы можете использовать сценарий для возврата "полей сценария" как части поискового запроса или оценки пользовательской оценки для запроса.
0 ответов

Скрипты в elasticsearch

У меня есть пара вопросов о скриптах в elasticsearch, надеюсь, кто-нибудь мне поможет. Мне нужно добавить несколько параметров из документа в_scoreи отсортируйте по общей стоимости. Сначала я опишу данные, которые у меня есть и которые нужно добавит…
25 авг '20 в 10:14
1 ответ

Агрегации с динамическими данными / вложенными_объектами

Я пытаюсь выполнить агрегирование по динамически сопоставленным полям в ElasticSearch. Например: POST test/_doc/1 { "settings": { "range": { "value": 200, "display": "200 km" }, "transmitter&quo…
1 ответ

Elasticsearch: агрегирование случайных полей

введите описание изображения здесь Теперь у меня есть документ как на картинке. Структура этого документа - это поле "содержимое" со множеством полей случайных ключей (обратите внимание, что нет фиксированного формата для ключей. Они могут быть как …
0 ответов

выберите диапазон пустых пространств в индексе elasitcsearch

У меня типичный лог в ELK. Есть поле @timestamp с типом даты. Пожалуйста, помогите мне создать запрос к API elasticsearch, в результате чего я получу пустые места в индексе, т.е. интервалы более 5 минут, в течение которых журналы не передавались. Мо…
1 ответ

Корректировка результатов оценки

Я хотел бы знать, можно ли это реализовать в эластичном формате. Допустим, у меня есть документы этой структуры. { "title": "text1 text2 text3", "score_adj":[ {"text":"text1", "adj": -2}, {…
13 авг '20 в 16:39
1 ответ

Elasticsearch безболезненно обновляет список уникальных элементов

РЕДАКТИРОВАТЬ: Моя проблема была вызвана ";" в конце строки, о чем я мог догадаться, прочитав полное сообщение об ошибке: 'error': { 'type': 'illegal_argument_exception', 'reason': 'failed to execute script', 'caused_by': { 'type': 'script_exception…
1 ответ

Как объединить объект вместо того, чтобы полностью заменить его с помощью API обновления (безболезненно) при записи ElasticSearch

Сценарий: есть документ A в ElasticSearch, и я хочу объединить в этот документ некоторые поля, существующие в документе B. Документ А: { "id": 121423, "name": "Sample Name", "timestamp": "2020-10-01T00:12…
1 ответ

Извлечь дату (ггггММдд) из поля даты в запросе ElasticSearch

В моем индексе есть поле даты, отформатированное как 2020-01-04T05:00:06.870000Z. В ответе на запрос ES мне нужна дата в виде yyyyMMdd, так 20200104. Я попытался использовать скриптовый запрос и извлек день, месяц и год по отдельности. Как я могу об…
1 ответ

Как обновить и удалить первый символ поля массива в elasticsearch

У меня есть следующий индекс в эластичном поиске, указанный как jsondoc Текущий { "bar": { "bar": [{ "bar": [{ "bar": [{ "foo": "Y111111111111" } ] } ] } }} Требуется обновление { "bar…
21 окт '20 в 06:39
1 ответ

Фильтрация документов по неизвестному значению поля

Я пытаюсь создать запрос для фильтрации моих документов по одному (может быть любому) значению из поля (в моем случае "host.name"). Дело в том, что я ранее не знал уникальных значений этого поля. Мне нужно найти их и выбрать тот, который будет испол…
0 ответов

как запрашивать ElasticSearch - сортировка в группе и между группами

Я хочу получить список документов из моего ElasticSearch, у меня есть pub_time(тип даты, временная метка epoch_second)、 заголовок (ключевое слово) в сопоставлениях, pub_time - это дата публикации документа. Мое требование: документы с одинаковым заг…
09 фев '21 в 17:17
1 ответ

Как добавить фильтр между вложенными script_score?

Я динамически фильтрую цены по заданным курсам валют и сортирую их по баллам, которые генерируются скриптом. Но есть одна вещь, которую я не мог понять, как это сделать, - это фильтр диапазона. Например, я хочу получить только результат соответствия…
0 ответов

Как значительно минимизировать время выполнения запроса elasticsearch для запроса, который имеет агрегирование с помощью скрипта

У меня около 17 миллионов документов (постепенно увеличивается) в индексе эластичного поиска. Отображение одной из меток свойств , используемых для агрегирования, { "mappings":{ "labels":{ "properties":{ "label":{ "type":"text", "fields":{ "raw":{ "…
1 ответ

Запрос скрипта ElasticSearch игнорирует десятичные дроби из двойного значения

Я использую запрос ниже для получения двойного значения, но он игнорирует десятичные знаки после точки. POST gs011_tasks/_search { "from": 0, "size": 0, "version": true, "aggregations": { "DB_PLOTS": { "terms": { "script": { "source": "doc['area_cou…
19 июл '21 в 14:02
0 ответов

Создание визуализации агрегированного подсчета из двух атрибутов в двух разных массивах JSONArray в документе ElasticSearch(v7.14)

Входной документ имеет следующую структуру. Ключи и значения находятся в двух отдельных массивах JSONArray в документе. { "keys" : [ "k1", "k2", "k3", "k4" ], "values" : [ 1, 2, 3, 4 ] } { "keys" : [ "k1", "k2", "k3" ], "values" : [ 1, 2, 3 ] } { "k…
1 ответ

Лучшая практика для создания настраиваемого сопоставления в агрегации Elasticsearch

Я хочу выполнить индивидуальную агрегацию путем сопоставления определенного поля в документе ES. Я стараюсь использовать сценарий агрегирования терминов . Существуют сотни сопоставлений, поэтому я должен поместить их все в HashMap: GET /myindex/_sea…
14 сен '21 в 07:56
1 ответ

не может преобразовать MethodHandle(Dates)JodaCompatibleZonedDateTime в (Object)double

Я пытаюсь добавить условия, если поле существует, а затем отсортировать по нему, иначе используйте другое поле. Так как один из них будет существовать. Вот мой запрос: GET /my_index/_search { "query": { "match_all": {} }, "sort": { "_script": { "typ…
0 ответов

Определение корневого сопоставления имеет неподдерживаемые параметры (mapper_parsing_exception) при запуске безболезненного скрипта эластичного поиска.

{ "query": { "match_all": {} }, "script": { "source":"if(ctx._source.containsKey('priority')){if (ctx._source.priority != null && ctx._source.priority != 'null') { ctx._source.priority_filter = String.valueOf(ctx._source.priority) } else { …
18 янв '21 в 10:29
1 ответ

Как агрегировать битовое поле в Elasticsearch?

У меня есть 60-битное (минуты в часе) поле, которое я хотел бы агрегировать с помощью побитового оператора, чтобы конечный результат был установлен в битах, если какое-либо из участвующих значений имело этот бит. Представление битового поля еще не о…
2 ответа

Агрегат ElasticSearch для вложенного поля со сценарием

У меня есть следующее сопоставление в моем индексе ElasticSearch (упрощенное, поскольку другие поля не имеют значения): { "test": { "mappings": { "properties": { "name": { "type": "keyword" }, "entities": { "type": "nested", "properties": { "text_pr…