我是Elastic Search db的新手。使用id属性我能够更新和删除但没有id属性(我的意思是文件的另一个属性是唯一的)它不起作用。请告诉我,我们能不能这样做。
答案 0 :(得分:2)
我认为你在寻找的是
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html
POST twitter/_update_by_query?conflicts=proceed
{
"query": {
"term": {
"user": "kimchy"
}
}
}
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
POST twitter/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
答案 1 :(得分:0)
您可以使用_delete_by_query
API。
_delete_by_query
在启动时获取索引的快照,并使用内部版本控制删除它找到的内容。这意味着如果文档在拍摄快照的时间和处理删除请求之间发生更改,则会出现版本冲突。当版本匹配时,文档将被删除。
代码段。
POST twitter/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
答案 2 :(得分:0)
以下是要更新的查询
POST /indexName/typeName/_update_by_query
{
"query": {
"match": {
"name": "abc"
}
},
"script": {
"inline": "ctx._source.description = 'Updated description'"
}
}
这是查询删除
POST /indexName/typeName/_delete_by_query
{
"query": {
"match": {
"name": "abc"
}
}
}