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