Elasticsearch文檔索引基本操作增刪改查示例
更新時間:2022年04月19日 17:49:56 作者:Jeff的技術棧
這篇文章主要為答案及介紹了Elasticsearch文檔索引基本操作增刪改查示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
接口冪等性
- 接口冪等性:數(shù)學概念,多次請求,相當于一次請求
- get,put,delete都是冪等性的接口
- post 存在冪等性的問題
- 前端速度很快,點了兩次,會生成兩個訂單
- 用戶在訪問新增頁面時(提交訂單)---》接口返回一個唯一id,提交訂單,攜帶唯一id過來,后端判斷這個唯一id是否被用過---》沒用過,創(chuàng)建訂單
- 你在項目中碰到的問題和如何解決(項目收獲)下訂單,經(jīng)常重復訂單,點得快,冪等性問題,如何解決的
倒排索引
1.es介紹10個點
2.安裝
-jdk :java開發(fā)環(huán)境
- 官網(wǎng)下載es相應的版本,解壓,到bin目錄下啟動elasticsearch.bat
- 兩個客戶端(kibana:官方,發(fā)送請求,數(shù)據(jù)統(tǒng)計,展示,elasticsearch-head:第三方用node寫的)
- kibana跟es版本對應,bin路徑下,直接啟動
- elasticsearch-head需要安裝node環(huán)境,npm install ---》npm run start
- kibana配置文件配置(copy一下,kibana監(jiān)聽的地址端口,隨便名一個名,連接es的地址)
- 修改es配置:允許跨域(瀏覽器的同源策略),cors:跨域資源共享,實現(xiàn)跨域
- es的倒排索引(擴展閱讀.md)
- 把文章進行分詞,對每個詞建立索引
3 索引操作
# 索引操作---》數(shù)據(jù)庫操作---》新增,刪除,修改,查詢 # 1 新增索引: PUT lqz2 # lqz2就是索引名字 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 2 查詢索引 GET lqz2/_settings 返回結(jié)果 { "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
4 文檔基本增刪查改
#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"} }
5 文檔查詢
# 測試數(shù)據(jù) 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":"龍?zhí)灼?, "age":22, "from":"gu", "desc":"mmp,沒怎么看,不知道怎么形容", "tags":["造數(shù)據(jù)", "真","難"] } # 兩種方式 -第一種(字符串查詢) GET lqz/doc/_search?q=from:gu GET lqz/doc/_search?q=age:22 -查詢的第二種方式(結(jié)構(gòu)化) 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": "造數(shù)據(jù)" } } }
以上就是Elasticsearch文檔索引基本操作增刪改查示例的詳細內(nèi)容,更多關于Elasticsearch文檔索引增刪改查的資料請關注腳本之家其它相關文章!
相關文章
Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫全流程
SQL Server是微軟推出的重量級的數(shù)據(jù)庫,目前有多個版本,如2000、2008、2012等,下面這篇文章主要給大家介紹了關于Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫的相關資料,需要的朋友可以參考下2023-12-12Python 轉(zhuǎn)換文本編碼實現(xiàn)解析
這篇文章主要介紹了Python 轉(zhuǎn)換文本編碼實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值2019-08-08Python統(tǒng)計時間內(nèi)的并發(fā)數(shù)代碼實例
這篇文章主要介紹了Python統(tǒng)計時間內(nèi)的并發(fā)數(shù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12python爬蟲模擬瀏覽器訪問-User-Agent過程解析
這篇文章主要介紹了python爬蟲模擬瀏覽器訪問-User-Agent過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12Python利用VideoCapture讀取視頻或攝像頭并進行保存
這篇文章主要為大家介紹一下OpenCV中cv2.VideoCapture函數(shù)的使用,并利用cv2.VideoCapture讀取視頻或攝像頭以及進行保存幀圖像或視頻,感興趣的小伙伴可以了解一下2022-07-07