Hãy nói rằng tôi có một loại tag
trong một chỉ số ElasticSearch, với các bản đồ sau:Làm cách nào để cập nhật nhiều mục trong ElasticSearch?
{
"tag": {
"properties": {
"tag": {"type": "string", "store": "yes"},
"aliases": {"type": "string"}
}
}
}
Mỗi mục là một thẻ, và một loạt các bí danh đến thẻ đó. Dưới đây là một mục ví dụ:
{
"word": "weak",
"aliases": ["anemic", "anaemic", "faint", "flimsy"]
}
Thỉnh thoảng, tôi muốn thêm từ khóa mới bằng bí danh của họ và thêm bí danh mới vào từ khóa hiện tại.
Việc thêm từ khóa mới bằng bí danh của họ thật dễ dàng, nó chỉ là một Tài liệu mới. Tuy nhiên, làm cách nào tôi có thể thêm bí danh mới vào các từ khóa hiện tại theo cách lành mạnh?
Tôi biết tôi chỉ có thể tìm kiếm từ khóa, nhận tài liệu, tìm kiếm xem bí danh đã tồn tại trong mảng bí danh chưa, nếu không thêm nó, thay vì lưu. Tuy nhiên - điều này không có vẻ giống như một giải pháp tốt.
Có cách nào để thực hiện cập nhật hàng loạt không?
Cập nhật theo truy vấn vẫn chưa được thêm vào Elastic, nhưng [plugin] (https://github.com/yakaz/elasticsearch-action-updatebyquery/) tồn tại. –
Kể từ Elasticsearch 2.3, cập nhật theo truy vấn có sẵn - https://www.elastic.co/guide/en/elasticsearch/reference/2.3/docs-update-by-query.html – PhaedrusTheGreek