1.插入文件:
注:elasticsearch不需要在文件插入索引之前先顯式建立索引。如果索引事先尚未存在,則elasticsearch將自動建立索引,還會自動建立動態對映。
1).插入文件時指定id:
put /twitter/_doc/1
2).插入文件時自動生成id(如果不指定id,elasticsearch將隨機生成id,此時需要使用post方法):
post /twitter/_doc/
3).強制新增:如果該id在文件中的索引已經存在則操作將失敗:
put /twitter/_create/1
2.獲取文件:
1).獲取指定id的文件:
get /twitter/_doc/1
2).檢查指定id的文件是否存在:
head /twitter/_doc/1
3).直接獲取_source:
get /twitter/_source/1
3.刪除文件:
1).刪除指定id的文件:
delete /twitter/_doc/1
2).刪除查詢到的文件(對匹配查詢的每個文件執行刪除操作):
post /twitter/_delete_by_query}}
4.更新文件:
1).更新時指定全部字段,全部覆蓋:
put /twitter/_doc/1
2).更新時指定部分字段:
post /twitter/_update/1
}3).upsert操作(存在id=1的資料則更新,否則插入):
post /twitter/_update/1
},"upsert" :
}4).更新查詢到的文件(更新 twitter 索引中 user 為 kimchy 的所有文件):
post /twitter/_update_by_query?conflicts=proceed
,"query": }}
5.批量獲取文件:
1).根據_id批量獲取文件:
get /twitter/_doc/_mget,]
}以上等價於(常用):
get /twitter/_doc/_mget
2).指定返回的字段_source:
get /twitter/_doc/_mget,,
}]}6.批量操作api:
elasticsearch提供了bulk api,可以執行批量索引、批量刪除、批量更新等操作,也就是說bulk api允許使用在單個步驟中進行多次 create 、 index 、 update 或 delete 請求。
post /twitter/_bulk}}
}} }}
7.重建索引(資料遷移):
1).將twitter索引中的文件複製到new_twitter索引中(new_twitter索引需要提前新建好):
post _reindex
,"dest":
}2).只拷貝符合條件的部分文件到新索引中:
post _reindex}},
"dest":
}3).只拷貝文件的部分欄位到新索引中:
post _reindex
,"dest":
}4).獲取正在重建索引的請求狀態:
get _tasks?detailed=true&actions=*reindex
8.實施重新整理資料讓搜尋可見:
put /twitter/doc/1?refresh
10 文件的搜尋find all
字串過濾碼 會查詢與字串完全匹配的內容 t list bs.find all a print t list 將所有a標籤內容放在列表中 正規表示式搜尋 使用search 方法來匹配內容 import ret list bs.find all re.compile a print t list 只要標...
ElasticSearch 05 文件操作
文件,即索引庫中某個型別下的資料,會根據規則建立索引,將來用來搜尋。可以模擬做資料庫中的每一行資料。通過post請求,可以向乙個已經存在的索引庫中新增文件資料。語法post 索引庫名 型別名 示例 post test goods 響應 可以看到結果顯示為 created,應該是建立成功了。另外,需要...
ongoDB(06) 文件操作
原文 文件的資料結構和 json 基本一樣。所有儲存在集合中的資料都是bson 格式。bson 是一種類似 json 的二進位制形式的儲存格式,是 binary json 的簡稱。1 db.collection.insert 向集合中插入文件,若插入的資料主鍵已經存在,則會拋org.springfr...