elasticsearch與關係型資料庫之間的比較

2021-10-10 07:02:00 字數 1253 閱讀 7113

用資料庫做搜尋並不好,主要問題

每次搜尋都要對記錄的一長條內容進行掃瞄

like %關鍵字% 不能使用到索引

不能將搜尋詞拆分開來,很難實現部分匹配,比如杭州醫療保險,如果搜尋杭州保險,就搜尋不到

同義詞的實現也比較複雜

要給表中新增一些column,必須用複雜的修改表結構的語法去執行。而且可能對系統**還有一定的影響。

lucene解決了上述的問題

但是其也存在問題

lucene是部署在單台機器上的,假設磁碟有500個g的空間,如果我們資料量很大,有乙個t的資料量,lucene放不下怎麼辦?

放在多台裝置上,分布式,散落在多台機器上。如電商**前端搜尋功能,與多台機器通訊的過程,以及資料的管理,都非常麻煩。另外,保證資料不丟失,系統的高可用性上也存在很大的挑戰。

這個過程如果我們自己來實現,很麻煩。

在這種情況下elastic search應運而生。每個es節點都封裝了lucene,多個es暴露出乙個統一的位址。elastic search給我們進行管理多台裝置。還實現了副本、故障恢復等機制及效能優化。

所以,elastic search是分布式、近實時、可伸縮的搜尋引擎和資料分析引擎

也可以把es當成了乙個nosql儲存引擎,乙個可以儲存文件型別資料的儲存系統,操作裡面的document。

資料庫核心概念

elastic search核心概念

table

index(type)

rowdocument

column

field

schema

sqldsl

sql操作

es操作

like

match query

where

term filter

interms filter多值搜尋

match query 或者 should, 加上 and operator 或者 minimum_should_match

between

range filter

order by

sort 語句

group by

bucket

聚合操作

metric

sql: and or not

es: bool, must, should, must_not, query+operator(and, or)

傳統關係型資料庫和elasticsearch區別

rdbms - 事務性 / join

安裝與配置Elasticsearch

elasticsearch 屬於 elastic 公司,進入該公司的官網 www.elastic.co。在這裡可以清楚啊的看到elastic stack產品的各個元件和功能 gz將解壓後的目錄放到 usr local 中 mv elasticsearch 5.6 3 usr local 由於保護機制...

Elasticsearch 安裝與配置

elasticsearch springboot整合elasticsearch mysql資料匯入到elasticsearch 使用ik分詞器實現搜尋 限制elasticsearch返回的結果集大小 第一步很重要,這裡就是入坑的開始了,到底該安裝哪個版本。最新的是7.0最好不要選最新的,選個接近最新...

Elasticsearch 安裝與啟動

es支援在不同的平台上執行,下面這幅圖中,對號標記的是經過測試的平台,其他的也可以執行,但是可能會出現bug。然後解壓,進入bin目錄,執行下面的命令 bin elasticsearch如果想要以守護程序的方式執行,可以新增 d引數 bin elasticsearch des在linux系統中支援修...