Elasticsearch文檔索引基本操作增刪改查示例
接口冪等性
- 接口冪等性:數(shù)學(xué)概念,多次請(qǐng)求,相當(dāng)于一次請(qǐng)求
- get,put,delete都是冪等性的接口
- post 存在冪等性的問(wèn)題
- 前端速度很快,點(diǎn)了兩次,會(huì)生成兩個(gè)訂單
- 用戶(hù)在訪問(wèn)新增頁(yè)面時(shí)(提交訂單)---》接口返回一個(gè)唯一id,提交訂單,攜帶唯一id過(guò)來(lái),后端判斷這個(gè)唯一id是否被用過(guò)---》沒(méi)用過(guò),創(chuàng)建訂單
- 你在項(xiàng)目中碰到的問(wèn)題和如何解決(項(xiàng)目收獲)下訂單,經(jīng)常重復(fù)訂單,點(diǎn)得快,冪等性問(wèn)題,如何解決的
倒排索引
1.es介紹10個(gè)點(diǎn)
2.安裝
-jdk :java開(kāi)發(fā)環(huán)境
- 官網(wǎng)下載es相應(yīng)的版本,解壓,到bin目錄下啟動(dòng)elasticsearch.bat
- 兩個(gè)客戶(hù)端(kibana:官方,發(fā)送請(qǐng)求,數(shù)據(jù)統(tǒng)計(jì),展示,elasticsearch-head:第三方用node寫(xiě)的)
- kibana跟es版本對(duì)應(yīng),bin路徑下,直接啟動(dòng)
- elasticsearch-head需要安裝node環(huán)境,npm install ---》npm run start
- kibana配置文件配置(copy一下,kibana監(jiān)聽(tīng)的地址端口,隨便名一個(gè)名,連接es的地址)
- 修改es配置:允許跨域(瀏覽器的同源策略),cors:跨域資源共享,實(shí)現(xiàn)跨域
- es的倒排索引(擴(kuò)展閱讀.md)
- 把文章進(jìn)行分詞,對(duì)每個(gè)詞建立索引
3 索引操作
# 索引操作---》數(shù)據(jù)庫(kù)操作---》新增,刪除,修改,查詢(xún) # 1 新增索引: PUT lqz2 # lqz2就是索引名字 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 2 查詢(xún)索引 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":"紅樓夢(mèng)", "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":["古典","小說(shuō)"] } # 2 查詢(xún)文檔(更詳細(xì)的查找,后面講) GET lqz2/_doc/2 # 3 修改文檔 -覆蓋式(原來(lái)的字段就沒(méi)有了) PUT lqz/_doc/1 { "title":"xxxx", "price":333, "publish_addr":{ "province":"黑龍江", "city":"福州" } } -增量式(只修改某個(gè)字段)一定要注意包在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 文檔查詢(xún)
# 測(cè)試數(shù)據(jù) PUT lqz/doc/1 { "name":"顧老二", "age":30, "from": "gu", "desc": "皮膚黑、武器長(zhǎng)、性格直", "tags": ["黑", "長(zhǎng)", "直"] } PUT lqz/doc/2 { "name":"大娘子", "age":18, "from":"sheng", "desc":"膚白貌美,嬌憨可愛(ài)", "tags":["白", "富","美"] } PUT lqz/doc/3 { "name":"龍?zhí)灼?, "age":22, "from":"gu", "desc":"mmp,沒(méi)怎么看,不知道怎么形容", "tags":["造數(shù)據(jù)", "真","難"] } # 兩種方式 -第一種(字符串查詢(xún)) GET lqz/doc/_search?q=from:gu GET lqz/doc/_search?q=age:22 -查詢(xún)的第二種方式(結(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文檔索引基本操作增刪改查示例的詳細(xì)內(nèi)容,更多關(guān)于Elasticsearch文檔索引增刪改查的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫(kù)全流程
SQL Server是微軟推出的重量級(jí)的數(shù)據(jù)庫(kù),目前有多個(gè)版本,如2000、2008、2012等,下面這篇文章主要給大家介紹了關(guān)于Python使用pymssql連接SQL?SEVER數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2023-12-12filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解內(nèi)容,有興趣的朋友們可以參考下。2020-12-12Python 轉(zhuǎn)換文本編碼實(shí)現(xiàn)解析
這篇文章主要介紹了Python 轉(zhuǎn)換文本編碼實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-08-08pycharm通過(guò)ssh連接遠(yuǎn)程服務(wù)器教程
今天小編就為大家分享一篇pycharm通過(guò)ssh連接遠(yuǎn)程服務(wù)器教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例
這篇文章主要介紹了Python統(tǒng)計(jì)時(shí)間內(nèi)的并發(fā)數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12python爬蟲(chóng)模擬瀏覽器訪問(wèn)-User-Agent過(guò)程解析
這篇文章主要介紹了python爬蟲(chóng)模擬瀏覽器訪問(wèn)-User-Agent過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python利用VideoCapture讀取視頻或攝像頭并進(jìn)行保存
這篇文章主要為大家介紹一下OpenCV中cv2.VideoCapture函數(shù)的使用,并利用cv2.VideoCapture讀取視頻或攝像頭以及進(jìn)行保存幀圖像或視頻,感興趣的小伙伴可以了解一下2022-07-07