ElasticSearch筆記

      網友投稿 802 2025-03-31

      elasticsearch簡介

      elasticsearch(簡稱ES)

      Elasticsearch是用Java開發并且是當前最流行的開源的企業級搜索引擎。 能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。 客戶端支持Java、.NET(C#)、PHP、Python、Ruby等多種語言。

      官方網站:https://www.elastic.co/

      -:https://www.elastic.co/cn/start

      ElasticSearch與Lucene的關系

      Lucene可以被認為是迄今為止最先進、性能最好的、功能最全的搜索引擎庫(框 架) 但是想要使用Lucene,必須使用Java來作為開發語言并將其直接集成到你的應用 中,并且Lucene的配置及使用非常復雜,你需要深入了解檢索的相關知識來理解 它是如何工作的。

      Lucene缺點:

      只能在Java項目中使用,并且要以jar包的方式直接集成項目中。

      使用非常復雜-創建索引和搜索索引代碼繁雜。

      不支持集群環境-索引數據不同步(不支持大型項目)。

      索引數據如果太多就不行,索引庫和應用所在同一個服務器,共同占用 硬盤.共用空間少。

      上述Lucene框架中的缺點,ES全部都能解決。

      ES vs Solr比較

      當單純的對已有數據進行搜索時,Solr更快。

      當實時建立索引時, Solr會產生io阻塞,查詢性能較差, Elasticsearch具有明 顯的優勢。

      大型互聯網公司,實際生產環境測試,將搜索引擎從Solr轉到 Elasticsearch以 后的平均查詢速度有了50倍的提升。

      總結:

      二者安裝都很簡單。

      Solr 利用 Zookeeper 進行分布式管理,而Elasticsearch 自身帶有分布式 協調管理功能。

      Solr 支持更多格式的數據,比如JSON、XML、CSV,而 Elasticsearch 僅支 持json文件格式。

      Solr 在傳統的搜索應用中表現好于 Elasticsearch,但在處理實時搜索應用 時效率明顯低于Elasticsearch。

      Solr 是傳統搜索應用的有力解決方案,但 Elasticsearch更適用于新興的實 時搜索應用。

      Lucene全文檢索框架

      什么是全文檢索

      全文檢索是指:

      通過一個程序掃描文本中的每一個單詞,針對單詞建立索引,并保存 該單詞在文本中的位置、以及出現的次數.

      用戶查詢時,通過之前建立好的索引來查詢,將索引中單詞對應的文 本位置、出現的次數返回給用戶,因為有了具體文本的位置,所以就可以 將具體內容讀取出來了

      分詞原理之倒排索引

      指定IK分詞器作為默認分詞器

      ES的默認分詞設置是standard,這個在中文分詞時就比較尷尬了,會單字拆分,比如我搜 索關鍵詞“清華大學”,這時候會按“清”,“華”,“大”,“學”去分詞,然后搜出來 的都是些“清清的河水”,“中華兒女”,“地大物博”,“學而不思則罔”之類的莫名其 妙的結果,這里我們就想把這個分詞方式修改一下,于是呢,就想到了ik分詞器,有兩種 ik_smart和ik_max_word。 ik_smart會將“清華大學”整個分為一個詞,而ik_max_word會將“清華大學”分為“清 華大學”,“清華”和“大學”,按需選其中之一就可以了。 修改默認分詞方法(這里修改school_index索引的默認分詞為:ik_max_word):

      測試分詞效果:

      ES數據管理

      ES數據管理概述

      ES是面向文檔(document oriented)的,這意味著它可以存儲整個對象或文檔 (document)。

      然而它不僅僅是存儲,還會索引(index)每個文檔的內容使之可以被搜索。 在ES中,你可以對文檔(而非成行成列的數據)進行索引、搜索、排序、過濾。 ES使用JSON作為文檔序列化格式。 JSON現在已經被大多語言所支持,而且已經成為NoSQL領域的標準格式。

      ES存儲的一個員工文檔的格式示例:

      基本操作

      格式: PUT /索引名稱

      舉例: PUT /es_db

      格式: GET /索引名稱

      舉例: GET /es_db

      格式: DELETE /索引名稱

      舉例: DELETE /es_db

      格式: PUT /索引名稱/類型/id

      舉例:

      格式: PUT /索引名稱/類型/id

      舉例:

      格式: GET /索引名稱/類型/id

      舉例: GET /es_db/_doc/1

      格式: DELETE /索引名稱/類型/id

      舉例: DELETE /es_db/_doc/1

      查詢操作

      格式: GET /索引名稱/類型/_search

      舉例: GET /es_db/_doc/_search

      SQL: select * from student

      ElasticSearch筆記

      格式: GET /索引名稱/類型/_search?q=:**

      舉例: GET /es_db/_doc/_search?q=age:28

      SQL: select * from student where age = 28

      格式: GET /索引名稱/類型/_search?q=*[25 TO 26]

      格式: GET /索引名稱/類型/_search?q=*[25 TO 26]

      SQL: select * from student where age between 25 and 26

      格式: GET /索引名稱/類型/_mget

      舉例: GET /es_db/_doc/_mget

      { "ids":["1","2"] }

      格式: GET /索引名稱/類型/_search?q=age:<=**

      舉例: GET /es_db/_doc/_search?q=age:<=28

      SQL: select * from student where age <= 28

      格式: GET /索引名稱/類型/_search?q=age:>**

      舉例: GET /es_db/_doc/_search?q=age:>28

      SQL: select * from student where age > 28

      格式: GET /索引名稱/類型/_search?q=age[25 TO 26]&from=0&size=1

      舉例: GET /es_db/_doc/_search?q=age[25 TO 26]&from=0&size=1

      SQL: select * from student where age between 25 and 26 limit 0, 1

      格式: GET /索引名稱/類型/_search?_source=字段,字段

      舉例: GET /es_db/_doc/_search?_source=name,age

      SQL: select name,age from student

      格式: GET /索引名稱/類型/_search?sort=字段 desc

      舉例: GET /es_db/_doc/_search?sort=age:desc

      SQL: select * from student order by age desc

      Elasticsearch Lucene/Solr 實時流計算服務 CS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Excel中表格公式失靈了的處理方法
      下一篇:wps如何使用切片器篩選
      相關文章
      亚洲日韩一区二区一无码| 亚洲国产精品成人| 久久亚洲国产精品123区| 亚洲精品9999久久久久无码| 久久久久se色偷偷亚洲精品av| 亚洲电影在线免费观看| 4480yy私人影院亚洲| 亚洲久本草在线中文字幕| 亚洲av无码无在线观看红杏| 久久91亚洲人成电影网站| 亚洲欧洲无码AV电影在线观看| 久久亚洲中文字幕精品一区| 亚洲中文字幕第一页在线| 久久久久亚洲av成人无码电影| 国产自偷亚洲精品页65页| 亚洲美女高清一区二区三区| 亚洲精品成人在线| 亚洲麻豆精品国偷自产在线91| 国产一区二区三区亚洲综合 | 亚洲大成色www永久网址| 亚洲AV无码乱码麻豆精品国产| 亚洲宅男天堂a在线| 亚洲日本国产精华液| 亚洲福利电影一区二区?| 亚洲国产美女视频| 最新国产精品亚洲| 亚洲av成人中文无码专区| 国产亚洲美女精品久久| 亚洲国产精品尤物YW在线观看| 亚洲午夜AV无码专区在线播放| 伊人久久大香线蕉亚洲五月天| 国产亚洲自拍一区| 久久精品7亚洲午夜a| 2022年亚洲午夜一区二区福利| 亚洲福利电影在线观看| 亚洲国产视频网站| 欧美亚洲国产SUV| 亚洲风情亚Aⅴ在线发布| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲精品天堂成人片AV在线播放| 最新亚洲人成网站在线观看|