ElasticSearch的基本認識和基本操作

2022-08-30 01:21:07 字數 2782 閱讀 8946

es即為了解決原生lucene使用的不足,優化lucene的呼叫方式,並實現了高可用的分布式集群的搜尋方案,其第乙個版本於2023年2月出現在github上並迅速成為最受歡迎的專案之一。

分布式的實時檔案儲存,每個欄位都被索引並可被搜尋

分布式的實時分析搜尋引擎

可以擴充套件到上百臺伺服器,處理pb級結構化或非結構化資料

高度整合化的服務,你的應用可以通過簡單的 restful api、各種語言的客戶端甚至命令列與之

互動。上手elasticsearch非常容易。它提供了許多合理的預設值,並對初學者隱藏了複雜的搜尋引擎理論。它擁有開瓶即飲的效果(安裝即可使用),只需很少的學習既可在生產環境中使用。

solr和es比較:

solr 利用 zookeeper 進行分布式管理,支援更多格式的資料(html/pdf/csv),官方提供的功能更多在傳統的搜尋應用中表現好於 es,但實時搜尋效率低。

es自身帶有分布式協調管理功能,但僅支援json檔案格式,本身更注重於核心功能,高階功能多有第三方外掛程式提供,在處理實時搜尋應用時效率明顯高於 solr。

基於 lucene 的,支援分布式,可擴充套件,具有容錯功能,準實時的搜尋方案。

優點:開箱即用,可以與 hadoop 配合實現分布式。具備擴充套件和容錯機制。

缺點:只是搜尋方案,建索引部分還是需要自己實現。在搜尋功能上,只實現了最基本的需求。成功案例較少,專案的成熟度稍微差一些。

map/reduce 模式的,分布式建索引方案,可以跟 katta 配合使用。

優點:分布式建索引,具備可擴充套件性。

缺點:只是建索引方案,不包括搜尋實現。工作在批處理模式,對實時搜尋的支援不佳。

建立索引文件

①使用自己的

id建立:

put//

區域性更新文件

接受乙個區域性文件引數

doc,它會合併到現有文件中,物件合併在一起,存在的標量欄位被覆蓋,新字段被新增。

post itsource/employee/123/_update

}

刪除文件

delete //

批量操作

bulkapi

使用單一請求來實現多個文件的

create

、index

、update

或delete

。bulk

請求體格式:

}\n\n

}\n\n

post _bulk}}

}

批量獲取

#批量獲取方式一

get _mget,]}

#批量獲取方式二

get itsource/blog/_mget

分頁查詢

#分頁查詢

get _search?size=3&from=2;

//查詢條件位欸age=18的

get crm/employees/_search?q=age:18

//查詢10>age<30

get crm/employees/_search?q=age[10 to 30]

dsl查詢

#dsl的查詢方式

get crm/employees/_search

}}

get shop/goods/_search

} ],

"filter": [},}

}]}

},"from": 1,

"size": 5,

"_source": ["id", "name", "type","price"],

"sort":

1

public

class

elastictest

10//

新增資料

11@test

12public

void getcreated() throws

exception

25//

修改資料

26@test

27public

void update() throws

exception

40//

進行刪除

41@test

42public

void testdelete() throws

exception

47//

批量新增

48@test

49public

void bulk() throws

exception

60 bulkresponse response =bulk.get();

6162 searchrequestbuilder search = client.preparesearch("crm", "suer");

63system.out.println(search);

6465

66if

(response.hasfailures())

69client.close();70}

7172

73@test

74public

void testquery() throws

exception

9899

}100 }

elasticsearch的分布式架構基本原理

首先,es 的設計理念就是分布式搜尋引擎,底層還是基於lucene的 核心思想就是在多台機器上啟動多個es程序實列,組成乙個es集群。es中儲存資料的基本單位是索引,假設你要在es中儲存資料,首先就要在es中建立乙個索引,所有的資料都寫到這個索引裡面去,乙個索引差不多相當於mysql裡面的一張表。1...

分布式爬蟲之elasticsearch基礎1

一 搜尋引擎elasticsearch介紹 elasticsearch 是乙個全文搜尋引擎,可以快速地儲存 搜尋和分析海量資料。二 應用場景 三 安裝 elasticsearch 缺省會在 9200 埠上執行,我們開啟瀏覽器訪問http localhost 9200 elasticsearch 本質...

封基和開基的異同

封閉式 簡稱 封基 學名叫 契約型封閉式 開放式 簡稱 開基 學名叫 契約型開放式 相同點大致有 一 都是 管理公司的集合理財產品 二 都屬於面向社會公開募集 的範疇 三 都要執行 法 和規範的會計準則 四 都要按照資產淨值提取管理費 託管費 五 目前 分紅都不需要交納個人所得稅 歡迎補充 不同點有...