У меня есть документ в ElasticSearch, который содержит словарь. Первоначально он пуст, но позже я обновляю его с помощью API _update и вставляю несколько пар ключ/значение. Теперь мне нужно снова очистить словарь. Я попытался использовать API _update и передал ему пустой словарь ({}), но старые пары ключ/значение все еще существуют. Я не могу использовать скрипты ctx. Одно из решений - передать null, а затем повторно вставить обновленный словарь, но это вызовет два вызова ES. API-интерфейс _update утверждает, что он объединяет словарь, но не имеет возможности его выпустить.Обновление словаря в эластичном поиске
0
A
ответ
0
Таким образом, чтобы резюмировать, вы индексировали документ в Elasticsearch как этот
curl -XPOST localhost:9200/your_index/your_type/123 -d '{"field1":"value1"}'
Затем вы вставили пару дополнительных полей с использованием _update
конечной точки:
curl -XPOST localhost:9200/your_index/your_type/123/_update -d '{
"doc": {"field2": "value2"}
}'
Теперь ваш документ 123
внешность как это, и вы хотите очистить его, чтобы содержать новые данные.
{
"field1": "value1",
"field2": "value2"
}
Вы можете просто повторно проиндексировать новый документ с новыми полями, но тот же идентификатор, как мы делали это с первой командой выше:
curl -XPOST localhost:9200/your_index/your_type/123 -d '{"field3":"value3"}'
И документ 123
теперь выглядит
{
"field3": "value3"
}
Однако, если вам необходимо сначала очистить документ и обновить его позднее, вы можете просто удалить его.
curl -XDELETE localhost:9200/your_index/your_type/123
Поскольку документ будет отсутствовать, ваше приложение может считать, что оно пустое (семантически).
Смежные вопросы
- 1. Яркая нагрузка в эластичном поиске
- 2. Сохраненное поле в эластичном поиске
- 3. Отфильтрованный запрос в эластичном поиске
- 4. RabbitMQ Река на эластичном поиске
- 5. Active Directory AuthorizationException в эластичном поиске
- 6. Как индексировать mongoose-timestamp в эластичном поиске
- 7. Сортировка по строковому значению в эластичном поиске
- 8. Индексирование документа в эластичном поиске, JAVA API
- 9. Удалите псевдоним и индекс в эластичном поиске
- 10. Получить последние записи в эластичном поиске
- 11. Невозможно обновить отображение в эластичном поиске
- 12. диапазон между двумя датами в эластичном поиске
- 13. Как конкатенировать нить на эластичном поиске
- 14. верните все записи в одном запросе в эластичном поиске
- 15. Обновление узлов в эластичном бобовом стане
- 16. Как применить фасетный поиск в эластичном поиске с несколькими фильтрами?
- 17. Точное совпадение в эластичном поиске после включения фильтра hunspell
- 18. Могу ли я выжить без репликации в эластичном поиске?
- 19. Запрос на фильтрацию: Не нулевой в эластичном поиске
- 20. Как проиндексировать содержимое документа PDF в эластичном поиске?
- 21. Mysql данные о состоянии импорта в эластичном поиске
- 22. Как обновить в эластичном поиске на основе строкового поля
- 23. сконфигурируйте TTL в эластичном поиске с помощью шаблона индекса
- 24. Комбинированный диапазон и фильтр сценариев в эластичном поиске
- 25. curl command, чтобы закрыть все индексы сразу в эластичном поиске
- 26. Вставьте следующее доступное целое число в эластичном поиске
- 27. Искать последние Четыре цифры столбца данные в эластичном поиске
- 28. Найти подходящее слово при использовании нечеткого запроса в эластичном поиске
- 29. Fuzzy_like_this запрос в эластичном поиске, не показывающий строку с апострофом
- 30. Как искать записи На основе формата даты в эластичном поиске
Извините за поздний комментарий, мне нужно было удалить словарь внутри документа. { "field1": "value1", "dictionary": {"field2", "value2"} }. Мне нужно установить «словарь» на пустой. – Sky
Вы можете установить поле 'dictionary' в' null' с 'curl -XPOST localhost: 9200/your_index/your_type/123/_update -d '{ " doc ": {" dictionary ": null} }'' – Val