Elasticsearch探索實踐(一)

2022-09-14 16:54:16 字數 3286 閱讀 6800

elasticsearch是乙個開源的分布式、restful 風格的搜尋和資料分析引擎,它的底層是開源庫apache lucene。

lucene 可以說是當下最先進、高效能、全功能的搜尋引擎庫——無論是開源還是私有,但它也僅僅只是乙個庫。為了充分發揮其功能,你需要使用 j**a 並將 lucene 直接整合到應用程式中。 更糟糕的是,您可能需要獲得資訊檢索學位才能了解其工作原理,因為lucene 非常複雜。

為了解決lucene使用時的繁複性,於是elasticsearch便應運而生。它使用 j**a 編寫,內部採用 lucene 做索引與搜尋,但是它的目標是使全文檢索變得更簡單,簡單來說,就是對lucene 做了一層封裝,它提供了一套簡單一致的 restful api 來幫助我們實現儲存和檢索。

當然,elasticsearch 不僅僅是 lucene,並且也不僅僅只是乙個全文搜尋引擎。 它可以被下面這樣準確地形容:

由於elasticsearch的功能強大和使用簡單,維基百科、衛報、stack overflow、github等都紛紛採用它來做搜尋。現在,elasticsearch已成為全文搜尋領域的主流軟體之一。

2.elasticsearch和關係型資料術語對照表

關聯式資料庫 資料庫 表 行 列(columns) elasticsearch 索引(index) 型別(type) 文件(docments) 字段(fields)

聚合post :http://localhost:9200/person/man/_search

3.檢視當前節點的所有 index。

$ curl -x get 'http://localhost:9200/_cat/indices?v' #_cat 檢視的意思 固定寫法,同理_update

4.列出每個 index 所包含的 type

,

"doc": }}

}},"name": }}

}},"conference": }},

"date": ,

"description": }},

"host": }},

"reviews": ,

"title": }}

}}}},

"lxw_chome": ,

"lxw": ,

"lxw_index": ,

"description": ,

"name": ,

"pic": ,

"price": ,

"studymodel": ,

"timestamp": }}}}}

5. 新增記錄

向指定的 /index/type 傳送 put 請求,就可以在 index 裡面新增一條記錄。比如,向/accounts/person傳送請求,就可以新增一條人員記錄。

$ curl -x put 'localhost:9200/accounts/person/1' -d '

'

注意,如果沒有先建立 index(這個例子是accounts),直接執行上面的命令,elastic 也不會報錯,而是直接生成指定的 index。所以,打字的時候要小心,不要寫錯 index 的名稱。

6. 返回所有記錄

使用 get 方法,直接請求/index/type/_search,就會返回所有記錄。

$ curl 'localhost:9200/accounts/person/_search'

, "hits":},}

]}}

上面**中,返回結果的took字段表示該操作的耗時(單位為毫秒),timed_out字段表示是否超時,hits字段表示命中的記錄,裡面子字段的含義如下。

返回的記錄中,每條記錄都有乙個_score字段,表示匹配的程式,預設是按照這個字段降序排列。

elastic 預設一次返回10條結果,可以通過size字段改變這個設定。

$ curl 'localhost:9200/accounts/person/_search'  -d '

}, "size": 1

}'

上面**指定,每次只返回一條結果。

還可以通過from字段,指定位移。

$ curl 'localhost:9200/accounts/person/_search'  -d '

}, "from": 1,

"size": 1

}'

上面**指定,從位置1開始(預設是從位置0開始),只返回一條結果。

如果有多個搜尋關鍵字, elastic 認為它們是or關係。

$ curl 'localhost:9200/accounts/person/_search'  -d '

}}'

上面**搜尋的是軟體 or 系統

加上 -d 引數後就是 post 請求了,不是 get

$ curl 'localhost:9200/accounts/person/_search'  -d '

}, }]}

}}'

"match" : 

}

參考:

全文搜尋引擎 elasticsearch 入門教程 - 阮一峰的網路日誌

elasticsearch 開始 探索集群

exploring your cluster 探索你的集群 現在我們的節點 集群 已經啟動了,下一步需要做的就是和集群進行交流。幸運的是,elasticsearch提供了非常全面和強大的rest api,您可以使用與您的集群進行互動。可以使用api 來完成的幾件事情如下 讓我們從基本的集群健康檢查開...

探索Elasticsearch集群API

elasticsearch提供了乙個非常全面和強大的rest api,您可以使用與您的集群進行互動。為數不多的可以用api的事情如下 1.可以使用 catapi檢視elasticsearch的健康狀況,但是啟動時不能以守護程序方式啟動。root server01 curl 127.0.0.1 920...

探索Elasticsearch集群API

elasticsearch提供了乙個非常全面和強大的rest api,您可以使用與您的集群進行互動。為數不多的可以用api的事情如下 1.可以使用 catapi檢視elasticsearch的健康狀況,但是啟動時不能以守護程序方式啟動。1 2 3 root server01 curl 127.0.0...