Возможно ли обновить некоторые значения определенных полей в elasticsearch без перезаписи других полей. ?Обновить только значение поля в elasticsearch
ответ
вы можете сделать следующее:
- получить документ
- обновления ваше поле
- написать документ обратно
это то же самое для Solr
если вы просто напишите новый документ (с существующим идентификатором) и заполните только одно поле, которое вы хотите обновить, кто le document (все остальные поля) будет перезаписан
Проверьте elasticsearch [update api] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-update.html), который не требуется отправить весь документ самостоятельно, но разрешить отправку частичного документа или сценария. – javanna
Да, Elasticsearch поддерживает частичные обновления. Это означает, что вы можете представить:
- частичный документ, который будет объединен с существующим
- скрипт, который будет выполняться поверх существующего документа
Посмотрите update api. В обоих случаях, что происходит под капотом, из-за того, как работает базовая библиотека lucene, заключается в том, что извлекаемый документ извлекается, изменения применяются к нему, а старый документ перезаписывается новым. В конце концов, на самом деле это полная переработка документа, но вам не нужно отправлять весь документ, если вы не отключили _source field, включенный по умолчанию, который является полем, которое позволяет вам получить весь документ, чтобы применить к нему изменения.
В качестве продолжения вы можете взглянуть на этот вопрос http://stackoverflow.com/questions/28937946/elasticsearch-particial-update-of-not-indexed-field –
Как codebased вклад в этот ответ, можно использовать следующий запрос:
POST /index/type/100100471/_update
{
"doc" : {
"yourProperty" : 10000
}
}
Этот запрос обновляет yourProperty
свойства только.
В результате, появляется этот ответ:
{
"_index": "index",
"_type": "type",
"_id": "100100471",
"_version": 1,
"_shards": {
"total": 0,
"successful": 1,
"failed": 0
}
}
- 1. Как обновить elasticsearch типа поля
- 2. Как обновить тип поля в elasticsearch
- 3. ElasticSearch: индексируйте только поля, указанные в сопоставлении
- 4. elasticsearch обновить набор
- 5. Как сопоставить динамическое значение поля в elasticsearch?
- 6. Как обновить значение текстового поля
- 7. Обновить значение поля от JS
- 8. Как обновить одно значение поля?
- 9. Elasticsearch - возвращает только определенные поля для автозаполнения
- 10. Сделать elasticsearch только возвращать определенные поля?
- 11. Elasticsearch: возвращает пустое значение из поля сценария
- 12. Java Elasticsearch: Найти значение поля, содержащее смайлики :)
- 13. Как обновить значение поля в шаблоне Go
- 14. Laravel - Как обновить значение поля в sqlite
- 15. Обновить значение поля дисплея в extjs3 автоматически
- 16. Как обновить значение поля в mongodb?
- 17. Значение поля даты исправления Elasticsearch. (изменить значение поля от int до строки)
- 18. Как обновить значение поля в столбце со значением из другого поля только в определенных условиях (контексте)?
- 19. объединить поля в elasticsearch
- 20. Редактируемые поля документов в elasticsearch
- 21. Как обновить поле умножить значение поля Mongodb
- 22. Не удается обновить Значение из текстового поля
- 23. elasticsearch для поля массива
- 24. Как получить только конкретные поля в ответе, в elasticsearch?
- 25. Elasticsearch - Совокупность поля сценария
- 26. Поиска значение Поля даты в ElasticSearch без времени
- 27. Только обновить запись, когда есть новое значение
- 28. Elasticsearch Получить только результат, который distinc значение
- 29. Не удается получить правильное значение поля электронной почты в ElasticSearch
- 30. Elasticsearch - обновить не проиндексированное поле
Могу ли я узнать, был ли мой ответ полезным? – javanna
да спасибо за помощь. Я использовал формат скрипта и следил за [update api] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-update.html) –
Отлично, вы могли бы хочу принять ответ, затем ... – javanna