10 文件常用操作 2019 05 19

2021-09-24 23:33:42 字數 1859 閱讀 9294

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...