您好,登錄后才能下訂單哦!
這篇文章主要介紹“Elasticsearch文檔索引的增刪改查方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Elasticsearch文檔索引的增刪改查方法”文章能幫助大家解決問題。
0 接口冪等性:數學概念,多次請求,相當于一次請求
get,put,delete都是冪等性的接口
post 存在冪等性的問題
前端速度很快,點了兩次,會生成兩個訂單
用戶在訪問新增頁面時(提交訂單)---》接口返回一個唯一id,提交訂單,攜帶唯一id過來,后端判斷這個唯一id是否被用過---》沒用過,創建訂單
你在項目中碰到的問題和如何解決(項目收獲)下訂單,經常重復訂單,點得快,冪等性問題,如何解決的
1.es介紹10個點
2.安裝
-jdk :java開發環境
官網下載es相應的版本,解壓,到bin目錄下啟動elasticsearch.bat
兩個客戶端(kibana:官方,發送請求,數據統計,展示,elasticsearch-head:第三方用node寫的)
kibana跟es版本對應,bin路徑下,直接啟動
elasticsearch-head需要安裝node環境,npm install ---》npm run start
kibana配置文件配置(copy一下,kibana監聽的地址端口,隨便名一個名,連接es的地址)
修改es配置:允許跨域(瀏覽器的同源策略),cors:跨域資源共享,實現跨域
es的倒排索引(擴展閱讀.md)
把文章進行分詞,對每個詞建立索引
# 索引操作---》數據庫操作---》新增,刪除,修改,查詢 # 1 新增索引: PUT lqz2 # lqz2就是索引名字 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 2 查詢索引 GET lqz2/_settings 返回結果 { "lqz2" : { "settings" : { "index" : { "creation_date" : "1588822389842", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "NBXIeVdHQ26vCuPn8_6uew", "version" : { "created" : "7050099" }, "provided_name" : "lqz2" } } } } # 3 更新索引 PUT lqz2/_settings { "number_of_replicas": 2 } #4 刪除lqz2索引 DELETE lqz2
#1 新增文檔 POST lqz2/_doc/1 { "title":"紅樓夢", "price":12, "publish_addr":{ "province":"黑龍江", "city":"鶴崗" }, "publish_date":"2013-11-11", "read_num":199, "tag":["古典","名著"] } POST lqz2/_doc/2 { "title":"西游記", "price":22, "publish_addr":{ "province":"上海", "city":"上海" }, "publish_date":"2013-11-11", "read_num":66, "tag":["古典","小說"] } # 2 查詢文檔(更詳細的查找,后面講) GET lqz2/_doc/2 # 3 修改文檔 -覆蓋式(原來的字段就沒有了) PUT lqz/_doc/1 { "title":"xxxx", "price":333, "publish_addr":{ "province":"黑龍江", "city":"福州" } } -增量式(只修改某個字段)一定要注意包在doc中 POST lqz2/_doc/1/_update { "doc":{ "title":"xx" } } # 4 刪除文檔 DELETE lqz/_doc/1 # 5 批量獲取 GET _mget { "docs":[ { "_index":"lqz2", "_type":"_doc", "_id":2 }, { "_index":"lqz2", "_type":"_doc", "_id":1 } ] } # 6 批量插入 PUT test/_doc/2/_create { "field1" : "value22" } POST _bulk { "index" : { "_index" : "test", "_id" : "1" } } { "field1" : "value1" } { "delete" : { "_index" : "test", "_id" : "2" } } { "create" : { "_index" : "test", "_id" : "3" } } { "field1" : "value3" } { "update" : {"_id" : "1", "_index" : "test"} } { "doc" : {"field2" : "value2"} }
# 測試數據 PUT lqz/doc/1 { "name":"顧老二", "age":30, "from": "gu", "desc": "皮膚黑、武器長、性格直", "tags": ["黑", "長", "直"] } PUT lqz/doc/2 { "name":"大娘子", "age":18, "from":"sheng", "desc":"膚白貌美,嬌憨可愛", "tags":["白", "富","美"] } PUT lqz/doc/3 { "name":"龍套偏房", "age":22, "from":"gu", "desc":"mmp,沒怎么看,不知道怎么形容", "tags":["造數據", "真","難"] } # 兩種方式 -第一種(字符串查詢) GET lqz/doc/_search?q=from:gu GET lqz/doc/_search?q=age:22 -查詢的第二種方式(結構化) GET lqz/doc/_search { "query": { "match": { "from": "gu" } } } GET lqz/doc/_search { "query": { "match": { "age": 22 } } } GET lqz/doc/_search { "query": { "match": { "desc": "形容" } } } GET lqz/doc/_search { "query": { "match": { "tags": "造數據" } } }
關于“Elasticsearch文檔索引的增刪改查方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。