新聞中心
Elasticsearch(ES)是一個流行的開源全文搜索和分析引擎。它使用Lucene作為搜索引擎核心,并提供了易用的RESTful API。這使得開發(fā)者可以使用不同種類的編程語言來對Elasticsearch進行操作。本文將介紹如何使用Linux命令行和curl工具來查詢ES索引。

步驟1: 安裝curl和jq工具
curl和jq工具是Linux命令行下的兩個非常常用工具,它們可以用來發(fā)送HTTP請求并處理ON數據。如果這兩個工具還沒有安裝,請使用以下命令進行安裝:
“`
sudo apt-get install curl
sudo apt-get install jq
“`
步驟2: 安裝Elasticsearch
運行ES之前,需要先下載和安裝它。首先要從官網上下載相應版本的代碼包。下載完成后,解壓縮該壓縮包,即可按照以下命令來啟動ES:
“`
cd elasticsearch-version/
./bin/elasticsearch
“`
等待一段時間,直到輸出類似于“[INFO][node] [node-name] started”這樣的信息時,表明成功啟動了Elasticsearch。
步驟3: 發(fā)送查詢請求
現(xiàn)在我們已經安裝了curl和jq工具,并成功啟動了Elasticsearch。我們可以開始執(zhí)行一些基本的查詢請求了。例如,我們可以查詢/index/_search接口,它將返回索引中的所有文檔。以下是查詢請求的實例:
“`
curl -XGET ‘http://localhost:9200/index/_search’ | jq
“`
以上命令中,XGET是定義請求類型的方法,http://localhost:9200是ES服務器地址和端口,index是需要查詢的索引名稱。jq是一個對ON數據進行處理的工具,用于美化輸出結果。
要獲取特定的索引字段,例如title和content,我們需要在請求中指定查詢參數如下所示:
“`
curl -XGET ‘http://localhost:9200/index/_search?q=title:test’ | jq
“`
以上命令中,q=title:test表示我們在title字段中搜索“test”關鍵字。如果要在兩個字段中搜索,需要修改查詢字符串:
“`
curl -XGET ‘http://localhost:9200/index/_search?q=title:test OR content:test’ | jq
“`
以上請求將在title和content字段中搜索“test”關鍵字。
步驟4: 使用查詢DSL語言
在查詢中使用查詢DSL語言是使用ES最強大的功能之一。它允許開發(fā)者以更加復雜的方式查詢索引數據。以下是使用DSL語言的查詢請求示例:
“`
curl -XGET ‘http://localhost:9200/index/_search’ -H ‘Content-Type: application/json’ -d’
{
“query”: {
“bool”:{
“must”:[
{
“match”:{
“title”:”test”
}
},
{
“wildcard”:{
“content”:”*es*”
}
}
]
}
}
}’ | jq
“`
以上命令中,我們使用了bool查詢和must查詢,這法匹配title中包含“test”關鍵字和content中包含“es”通配符的文檔。在這種情況下,我們使用了Content-Type標頭和-d標志來在請求主體中指定ON字符串。
在這篇文章中,我們學習了如何使用Linux命令行和curl工具查詢ES索引。我們已經討論了安裝和啟動Elasticsearch的步驟,以及發(fā)送基本查詢請求和使用DSL語言查詢的方法。這些技術可以幫助我們找到感興趣的數據,并幫助我們在大型文檔庫中搜尋特定的信息。
相關問題拓展閱讀:
- ES-URL查詢實例解析
- elasticsearch restclient 客戶端 如何獲取es庫所有索引名稱或列表
- ES索引生命周期管理
ES-URL查詢實例解析
4.1、查詢節(jié)點
heap.percent:堆內存,1/2更大內存-1和31之間取較小的值,高的話就是ES集群負擔比較重,解決鉛告:關閉一些索引(閾值差不多可以定在80左右)后會釋放一部分heap.percent,但不會釋放disk.percent
ram.percent:一直挺高,物理內存的使用情況,Lucene會將閑置的內存都占用做cache,如果有應用使用內存時,cache會被釋放出來
cpu:一般不會很高,5以下吧,如果有很多query的話會高,如果一直高釋放不掉運咐可能查詢語句有問題
node.role:【mdi】master data i查詢接口(可否在節(jié)點上查詢)
4.2、查詢節(jié)點健康狀態(tài)
4.3、查詢節(jié)點
disk.percent顯示占用的硬盤空間
4.4、查詢索引
4.5、查詢索引的具體記錄信息
4.6、查詢字段是否存在
4.7、查詢指定值的字段是否存在
4.8、查詢并控制返回的記錄條數
默認是10,范圍為
4.9、查詢并指旁激純定起始位置
4.10、查詢并按指定字段排序
4.11、模糊查詢
4.12、比較大小查詢
4.13、查詢并不顯示具體內容
4.14、包含指定字段
4.15、組合查詢
4.16、范圍查詢
4.17、關閉和打開索引
4.18、刪除符合條件的記錄
轉發(fā)自:
elasticsearch restclient 客戶端 如何獲取es庫所有索引名稱或列表
GET /_cat/indices這個接口不就是獲取所有索引列表嗎?吵早如果你只要索引名稱用老碰握awk ‘{print $3}’取第三侍慶列就行了
ES索引生命周期管理
定義:以時間為導向對數據進行應用策略操作。
索引管理流程:熱數據->暖數據->冷數據->數據歸檔->數據刪除
索引策略動作:優(yōu)先級、重索引、分片分配、只讀、合并、收縮、凍結、刪除
針對索引根據時間、空間、類型、優(yōu)先級進行不同種類的管理策略。
示例:
a. 我需要將tdx_ 索引自動關閉30天前的數據,自動刪除180天前的數據;
b. 我需要將jty_ 索引每達到100g新生成一個新的吵核二級索引;
c. 我需要將ths_ 和jty_ 索引在進行段合并時,之一優(yōu)先順序為ths索引,第二優(yōu)先順序為jty索引;
針對索引根據不同策略,進行相關的宴咐規(guī)則設計以及階段設計
示例:
針對tdx_ 索引,我需要先合并,再收縮,再關閉,再刪除;
針對jty_ 索引,我需要增加副本,再關閉,再刪除
針對每個動作,編寫索引的實際操作腳本
合并:
關閉:
針對每個策略,調用系統(tǒng)定時任務進行循環(huán)操作
ES7.0版本提供ILM策略進行es-stack的組件生命周期管理功能;
ES6.x及以下版本使用elasticsearch-curator進行索引策略動作;
使用ILM策略優(yōu)先級比使用curator優(yōu)先級更高,為了避免沖突,使用ILM進行索引管理后盡量避免使用curator再次進行管理;
通過將生命周期策略附加到用于創(chuàng)建索引模板的索引模板來控制索引在老化時的處理方式。您可以更新策略以修改新索引和現(xiàn)有索引的生命周期。
對于時間序列索引,索引生命周期中有四個階段:
?熱- 索引正在積極更新和查詢。
?暖- 索引不再更新,但仍需要查升祥掘詢。
?冷- 索引不再被更新,且很少被查詢。數據仍然需要搜索,但如果這些查詢速度較慢也沒關系。
?刪除- 不再需要索引,可以安全刪除。
生命周期策略控制索引如何在這些階段中轉換以及在每個階段對索引執(zhí)行的操作。該政策可以指定:
?要轉移到新索引的更大空間或時間。
?索引不再更新和主分片的數量可以減少。
?強制合并以永久刪除標記為刪除的文檔。
?索引可以移動到性能較低的硬件。
?可用性不那么重要的索引和副本的數量可以減少。
?索引需要進行安全刪除。
例如,如果要將一組ATM中的度量標準數據編入索引到Elasticsearch,則可以定義一個策略:
1.當索引達到50GB時,轉到新索引。
2.將舊索引移動到暖數據階段,將其標記為只讀,并將其合并縮小為單個分片單個數據段。
3.7天后,將索引移至冷數據階段并將其移至較便宜的硬件。
4.達到所需的30天保留期后,刪除索引。
Curator安裝
Centos7
wget
Centos6
wget
rpm -ivh elasticsearch-curator*.rpm
軟件安裝完畢后,得到安裝目錄:/opt/elasticsearch-curator
安裝完畢后,需要新建一個主配置文件curator.yml:
Curator策略編寫
官方鏈接:
目前支持的策略動作有:
Alias(重新別名)
Allocation(分配分片)
Close(關閉索引)
Cluster Routing(集群路由)
Create Index(創(chuàng)建索引)
Delete Indices(刪除索引)
Delete Snapshots(刪除快照)
Forcemerge(段合并)
Index Settings(索引設置)
Open(打開索引)
Reindex(重新索引)
Replicas(副本分配)
Restore(重新存儲)
Rollover(滾動索引)
Shrink(收縮索引)
Snapshot(索引快照)
單個策略有以下幾部分組成:
a.動作名稱,例如close,open,shrink,
官方鏈接:
b.動作參數,例如忽略空索引,之一個執(zhí)行錯誤繼續(xù)執(zhí)行后面的動作,
官方鏈接:
c.過濾器,例如按照時間,按照空間,按照分片等維度類型來過濾,
官方鏈接:
d.過濾參數,例如設置時間大小,空間大小,索引狀態(tài)模式進行過濾器的增強參數,
官方鏈接:
示例:關閉索引策略
Curator啟動
命令啟動:
curator –config curator.ymlconfig/close.yml &
配置定時任務:
Crontab -e
0 22 * * * /usr/bin/curator –config /opt/elasticsearch-curator/curator.yml /opt/elasticsearch/config/close.yml
* * * /usr/bin/curator –config /opt/elasticsearch-curator/curator.yml /opt/elasticsearch/config/forcemerge.yml
請編寫一個索引管理策略文件和定時任務,需求:
1.針對通達信索引tdx_*(按月生成),每天凌晨2點開始進行段合并,每個分片合并成3個段;
2.針對金太陽索引jty_ (按小時生成),每天凌晨3點開始進行關閉,關閉40天前的索引,且保留大于50gb的索引,同時排除掉jty_app 索引;
3.針對君泓索引jh_*(按天生成),每天22點開始進行索引分片合并,將小于1gb的索引的分片數量調整為1個分片;
4.針對tomcat索引tomcat_*(按小時生成),每天21點開始自動創(chuàng)建未來1天的索引;
5.針對nginx索引(nginx_jty_ ,nginx_jty48_ ,nginx_jty48_log_ ), 代表每天自動生成時間戳,需要使用一個action動作完成以上3種索引的關閉動作,自動關閉10天前的以上索引;
linux 查詢es索引的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于linux 查詢es索引,如何使用Linux查詢ES索引,ES-URL查詢實例解析,elasticsearch restclient 客戶端 如何獲取es庫所有索引名稱或列表,ES索引生命周期管理的信息別忘了在本站進行查找喔。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網站系統(tǒng)開發(fā)經驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。
當前文章:如何使用Linux查詢ES索引(linux查詢es索引)
分享URL:http://m.fisionsoft.com.cn/article/dhesjsc.html


咨詢
建站咨詢
