- Elasticsearch 教程
- Elasticsearch - 首頁
- Elasticsearch - 基本概念
- Elasticsearch - 安裝
- Elasticsearch - 資料填充
- 版本遷移
- Elasticsearch - API 約定
- Elasticsearch - 文件 API
- Elasticsearch - 搜尋 API
- Elasticsearch - 聚合
- Elasticsearch - 索引 API
- Elasticsearch - CAT API
- Elasticsearch - 叢集 API
- Elasticsearch - 查詢 DSL
- Elasticsearch - 對映
- Elasticsearch - 分析
- Elasticsearch - 模組
- Elasticsearch - 索引模組
- Elasticsearch - Ingest 節點
- Elasticsearch - 管理索引生命週期
- Elasticsearch - SQL 訪問
- Elasticsearch - 監控
- Elasticsearch - 資料彙總
- Elasticsearch - 凍結索引
- Elasticsearch - 測試
- Elasticsearch - Kibana 儀表板
- Elasticsearch - 按欄位過濾
- Elasticsearch - 資料表
- Elasticsearch - 區域地圖
- Elasticsearch - 餅圖
- Elasticsearch - 面積圖和條形圖
- Elasticsearch - 時間序列
- Elasticsearch - 標籤雲
- Elasticsearch - 熱力圖
- Elasticsearch - Canvas
- Elasticsearch - 日誌 UI
- Elasticsearch 有用資源
- Elasticsearch - 快速指南
- Elasticsearch - 有用資源
- Elasticsearch - 討論
Elasticsearch - Ingest 節點
| index.blocks.read_only | 1 true/false | 設定為 true 可使索引和索引元資料只讀,設定為 false 可允許寫入和元資料更改。 |
有時我們需要在索引文件之前對其進行轉換。例如,我們希望從文件中刪除欄位或重新命名欄位,然後對其進行索引。這由 Ingest 節點處理。
叢集中的每個節點都具有攝取能力,但也可以自定義為僅由特定節點處理。
涉及的步驟
Ingest 節點的執行涉及兩個步驟:
- 建立管道
- 建立文件
建立管道
首先建立一個包含處理器的管道,然後執行該管道,如下所示:
PUT _ingest/pipeline/int-converter
{
"description": "converts the content of the seq field to an integer",
"processors" : [
{
"convert" : {
"field" : "seq",
"type": "integer"
}
}
]
}
執行上述程式碼後,我們將得到以下結果:
{
"acknowledged" : true
}
建立文件
接下來,我們使用管道轉換器建立一個文件。
PUT /logs/_doc/1?pipeline=int-converter
{
"seq":"21",
"name":"Tutorialspoint",
"Addrs":"Hyderabad"
}
執行上述程式碼後,我們將得到如下所示的響應:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
接下來,我們使用 GET 命令搜尋上面建立的文件,如下所示:
GET /logs/_doc/1
執行上述程式碼後,我們將得到以下結果:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"Addrs" : "Hyderabad",
"name" : "Tutorialspoint",
"seq" : 21
}
}
您可以看到上面 21 已經變成了整數。
無管道
現在我們建立一個不使用管道的文件。
PUT /logs/_doc/2
{
"seq":"11",
"name":"Tutorix",
"Addrs":"Secunderabad"
}
GET /logs/_doc/2
執行上述程式碼後,我們將得到以下結果:
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "2",
"_version" : 1,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"seq" : "11",
"name" : "Tutorix",
"Addrs" : "Secunderabad"
}
}
您可以看到上面 11 是一個字串,沒有使用管道。
廣告