Ví dụ cho upsert là:Elasticsearch Cập nhật API nếu một lĩnh vực không tồn tại
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"script" : "ctx._source.counter += count",
"params" : {
"count" : 4
},
"upsert" : {
"counter" : 1
}
}'
mà hoạt động nếu tài liệu không tồn tại trước đó.
Giả sử tôi muốn cập nhật một trường không nhất thiết tồn tại, nhưng tài liệu tồn tại. Ví dụ: tài liệu có thể chưa có trường truy cập.
Tôi làm cách nào để thực hiện điều đó?
Tuyệt vời! Bạn có biết rằng nếu có một số trang web thực sự giải thích ngôn ngữ MVEL? Tôi đã cố gắng hết sức để tìm hiểu nó, nhưng không thể tìm thấy bất kỳ tài nguyên phong nha nào. http://mvel.codehaus.org/Language+Guide+for+2.0 là khủng khiếp và bao gồm bên cạnh không có gì – eran
Đó là tài nguyên tốt nhất mà tôi biết. Lời khuyên của tôi là cài đặt [javascript plugin] (https://github.com/elasticsearch/elasticsearch-lang-javascript) và chuyển sang javascript làm ngôn ngữ kịch bản của bạn. – imotov
Từ tài liệu elasticsearch về ngôn ngữ kịch bản: 'Mô-đun tập lệnh sử dụng theo mặc định groovy (trước đây được mô tả trong 1.3.x và cũ hơn)' –