《ElasticSearch權(quán)威指南》讀書筆記

ES是一個(gè)分布式可擴(kuò)展的實(shí)時(shí)搜索和分析引擎。
使用場景:全文搜索,結(jié)構(gòu)化數(shù)據(jù),統(tǒng)計(jì),查詢定位,地理定位,自動完成,查找提示等

入門

ES基于lecene
lecene是個(gè)框架,需要使用java,并在程序中集成lucene
ES用java編寫,在lecene基礎(chǔ)上,使用restful API,無需了解lucene原理
而且是ES是分布式
ES從lucene上的抽象層發(fā)展起來

安裝

先安裝java
安裝ES
安裝sense

與ES通信

java api,ES內(nèi)置
通過http向restful api傳送json,curl

啟程

ES是面向文檔型數(shù)據(jù)庫,而不是傳統(tǒng)關(guān)系數(shù)據(jù)庫
ES的數(shù)據(jù)格式是JSON
類比關(guān)系數(shù)據(jù):
數(shù)據(jù)庫-》表-》行-》列
索引-》類型-》文檔-》字段
索引作為名稱,類似關(guān)系型DB中數(shù)據(jù)庫,做動詞類似insert命令,關(guān)系型DB中的索引在ES中對應(yīng)的是反向索引

基本搜索

存儲文檔:put /a/b/1 a為索引,b為類型,1是id
獲取文檔:get /a/b/1
delete刪除,head查詢是否存在,替換還是put
全體檢索 get /a/b/_search
帶關(guān)鍵字檢索 get /a/b/_search?q=xx
DSL(領(lǐng)域特定語言)搜索,搜索條件為json串
帶過濾的搜索,json中有filtered,下層為filter和match
全文搜索:_score代表相關(guān)性評分
短語整體匹配:match_phrase
高亮搜索:highlight,返回結(jié)果用<em></em>包住
匯總統(tǒng)計(jì):aggs,類似sql中g(shù)roup by

搜索

空白搜索

不加搜索條件即可,默認(rèn)只返回前10個(gè)結(jié)果
hits:匹配的文檔。total代表匹配的數(shù)量,子hits中包括了index,type,id和具體結(jié)果
_score是相關(guān)性,沒加查詢條件就是1.max_score就是_score中最大值
took代表請求耗費(fèi)的時(shí)間,單位毫秒
shards是參與查詢的分片數(shù),及成功和失敗的個(gè)數(shù)
time_out告訴我們是否查詢超時(shí)。我們可以在查詢中設(shè)置這個(gè)參數(shù)。timeout不是終止查詢,而是返回指定時(shí)間內(nèi)已經(jīng)查到的數(shù)據(jù)

多索引多類型

在/_search前添加路徑,可以指定索引和類型
比如/gb,us/user,tweet/_search就是搜索索引gb和us中類型us及類型tweet的所有文檔
size參數(shù)是每次返回的結(jié)果數(shù),from是起始的結(jié)果編號
頁碼過大會有問題。因?yàn)檎埱笞畲?00條,是每個(gè)節(jié)點(diǎn)都請求100條,然后再整體處理。

搜索api分兩種,一種是精簡版的,一種json的完整版
?q=a:b 查詢所有字段a值為b的文檔 +c:d 增加條件 -e:f 絕對不匹配條件
_all全匹配,在路徑中可以使用
舉例:字段name包括mary或john,date>2014-9-10,_all字段包含aggregations或geo
+name:(mary john) +date:>2014-09-10 +(aggregations geo)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Solr&ElasticSearch原理及應(yīng)用 一、綜述 搜索 http://baike.baidu.com/it...
    樓外樓V閱讀 7,637評論 1 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • 今天看到網(wǎng)上流傳著一篇神作《在我老家,女人小孩不上桌的家庭更興旺》看后實(shí)在無語,實(shí)在不能想象這是一個(gè)以文字謀生的人...
    貓小九兒閱讀 555評論 0 0
  • 一張一弛,文武之道。 昨天太累了,今天要注意休息。 休養(yǎng)生息,才能走的更遠(yuǎn)。
    天馬一號閱讀 162評論 0 1
  • 判斷 最簡單的判斷邏輯是: 注意:condition兩邊與[]之間必須至少有一個(gè)空格 判斷條件 shell中判斷條...
    ifeelok0319閱讀 166評論 0 0

友情鏈接更多精彩內(nèi)容