ElasticSearch文件ID的使用

2021-08-15 23:14:46 字數 1308 閱讀 6332

文件通過indexapi被索引——使資料可以被儲存和搜尋。但是首先我們需要決定文件所在。正如我們討論的,文件通過其_index_type_id唯一確定。們可以自己提供乙個_id,或者也使用indexapi 為我們生成乙個。

如果你的文件有自然的識別符號(例如user_account字段或者其他值表示文件),你就可以提供自己的_id,使用這種形式的indexapi:

put ///

例如我們的索引叫做「website」,型別叫做「blog」,我們選擇的id是「123」,那麼這個索引請求就像這樣:

put /website/blog/123

elasticsearch的響應:

響應指出請求的索引已經被成功建立,這個索引中包含_index_type_id元資料,以及乙個新元素:_version

elasticsearch中每個文件都有版本號,每當文件變化(包括刪除)都會使_version增加。在《版本控制》章節中我們將**如何使用_version號確保你程式的一部分不會覆蓋掉另一部分所做的更改。

如果我們的資料沒有自然id,我們可以讓elasticsearch自動為我們生成。請求結構發生了變化:put方法——「在這個url中儲存文件」變成了post方法——"在這個型別下儲存文件"。(譯者注:原來是把文件儲存到某個id對應的空間,現在是把這個文件新增到某個_type下)。

url現在只包含_index_type兩個字段:

post /website/blog/

響應內容與剛才類似,只有_id字段變成了自動生成的值:

自動生成的id有22個字元長,url-safe, base64-encoded string universally unique identifiers, 或者叫 uuids。

ElasticSearch 檢索文件

現在elasticsearch中已經儲存了一些資料,我們可以根據業務需求開始工作了。第乙個需求是能夠檢索單個員工的資訊。這對於elasticsearch來說非常簡單。我們只要執行http get請求並指出文件的 位址 索引 型別和id既可。根據這三部分資訊,我們就可以返回原始json文件 檢索命令如...

Elasticsearch 文件操作

1.elasticserach api 操作 elasticsearch rest api遵循的格式為 curl x 檢查es版本資訊 http ip 9200 檢視集群是否健康 http ip 9200 cat health?v 檢視節點列表 http ip 9200 cat nodes?v 列出...

ElasticSearch 文件儲存

確定shard的公式 shard hash routing number of primary shardsrouting 預設是文件的 id 也可以設定成乙個自定義的值。因此要在建立索引的時候就確定好主分片的數量,並且永遠不會改變這個數量,因為如果數量變化了,那麼所有之前路由的值都會無效。每個節點...