Я использую Spark Streaming для агрегирования HTTP-запросов в сеансах HTTP и индексации сеансов в Elasticsearch в режиме upsert на основе идентификатора сеанса. Каждый сеанс содержит роботизированный балл, рассчитанный и обновленный в режиме реального времени. Я хочу распространять роботизированный счет на все HTTP-запросы, принадлежащие к одному и тому же сеансу. У меня есть способ выполнить такое обновление по уже проиндексированным HTTP-запросам в режиме реального времени?Как обновить документы elasticsearch в реальном времени с искровым потоком?
1
A
ответ
1
ElasticSearch не поддерживает (в настоящее время) UPDATE WHERE
типа запросов.
Вам необходимо сделать это за 2 шага.
- Выполните запрос, чтобы получить все документы с определенным идентификатором сессии
- Update каждый документ со счетом, используя частичное обновление См https://www.elastic.co/guide/en/elasticsearch/guide/current/partial-updates.html для получения более подробной информации, но перефразировать, что-то вроде
POST /sessions/1/_update { "doc" : { "score": 22 } }
Где 1 в URL - это идентификатор документа, который вы хотите обновить. Операция _update будет сохранять любые существующие поля и просто обновлять оценку (хотя не то, что _update не является строго говоря, так как он создаст новый документ с текущими значениями поля и удалит старый, но для вашего случая это не имеет значения семантика).
Смежные вопросы
- 1. Возможно ли в реальном времени обновить значение с искровым потоком?
- 2. mpeg-dash с потоком в реальном времени
- 3. Интеграция с искровым потоком Kafka
- 4. Агрегация над искровым потоком
- 5. Как обновить muiltiple документы в elasticsearch 1.5.2
- 6. Как остановить работу с искровым потоком?
- 7. Управлять входящим потоком данных в реальном времени
- 8. Консоль управления потоком HTTP в реальном времени
- 9. Обновить счет в реальном времени
- 10. Обновить таблицу в реальном времени
- 11. Как инициализировать состояние DStream в приложении с искровым потоком
- 12. Печать RDD на консоль с искровым потоком
- 13. Как обновить вычисление поля в реальном времени
- 14. Как обновить цвет кнопки в реальном времени?
- 15. Рекурсивно отслеживать поток HDFS с искровым потоком
- 16. Как обновить пометки маркеров в реальном времени
- 17. Как обновить данные в реальном времени?
- 18. Как обновить текстовый файл в реальном времени
- 19. Альтернативы для оценки в реальном времени по популярности с elasticsearch
- 20. Проблемы с ElasticSearch для геологических запросов в реальном времени
- 21. AWS SNS SDK не работает с искровым потоком
- 22. Как анализировать данные json с сервера kafka с искровым потоком?
- 23. Эффективное «поиск в реальном времени» всех документов в ElasticSearch
- 24. Как реализовать редактирование формы в реальном времени, например, Документы Google
- 25. как перенести данные mysql в ElasticSearch в реальном времени
- 26. Обновить вид таблицы в реальном времени
- 27. Обновить текстовый виджет Tkinter в реальном времени?
- 28. JavaScript, как в реальном времени обновить DOM с помощью массива?
- 29. elasticsearch не обновляет документы
- 30. Можно ли в реальном времени обновить разговоры?
Это то, что я делал до сих пор, но нет подходящего способа сделать выборочное обновление существующего индекса. спасибо – ZianyD
Если это ответит на вопрос, можете ли вы отметить его как ответ? BTW, для подтверждения, см. Последнюю строку https://www.elastic.co/guide/en/elasticsearch/reference/current/_updating_documents.html «Обратите внимание, что на момент написания обновления обновления могут выполняться только на одном документе в будущем. В будущем Elasticsearch может предоставить возможность обновлять несколько документов с учетом условия запроса (например, SQL UPDATE-WHERE). " – Amasuriel