Elasticsearch: Ingest attachment 插件
如何從 PPT、XLS 和 PDF 文件中提取數據到 Elasticsearch
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型的 Elasticsearch cloud 解決方案,帶來多項優勢,包括:
- 由專用私有 VM提供的最佳性能和強大的安全性。
- 支援 HTTPS 加密的可自訂域名。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Elasticsearch cloud hosting 解決方案!
Ingest Attachment 插件解析並提取各種文件格式的元數據和文本,包括 PowerPoint 簡報、Excel 文件和 PDF。它利用了強大的文本提取庫 Apache Tika。欲了解支持格式的完整列表,請訪問 Tika 的網站。
本指南將幫助您開始使用該插件。
將插件添加到 Elasticsearch
首先,在您的 Stackhero Elasticsearch 配置中啟用插件:
- 前往 Stackhero 儀表板中的 Elasticsearch 部分。
- 從可用選項中選擇插件
ingest-attachment。
Stackhero 儀表板
聲明附件管道
接下來,在 Elasticsearch 中聲明附件管道。在此示例中,您希望提取的內容存儲在 data 字段中:
PUT _ingest/pipeline/attachment
{
"description": "提取附件信息",
"processors": [
{
"attachment": {
"field": "data"
}
}
]
}
我們建議使用 Kibana 中的 "Dev Tools" 來簡單地複製/粘貼執行此命令。
Kibana 開發工具
添加帶有附件的文件
現在您可以索引包含附件的文件。該文件應包括一個 data 字段,其中包含以 Base64 編碼的文件內容。在此示例中,該文件是一個 RTF 文件,包含句子 "This is the content of an RTF file":
PUT my_index/_doc/my_id?pipeline=attachment
{
"data": "e1xydGYxXGFuc2kKVGhpcyBpcyB0aGUgY29udGVudCBvZiBhIFJURiBmaWxlClxwYXIgfQ=="
}
檢索帶有附件內容的文件
要查看處理過的文件,請使用其 ID 檢索它:
GET my_index/_doc/my_id
回應應類似於以下內容:
{
"_index" : "my_index",
"_type" : "_doc",
"_id" : "my_id",
"_version" : 1,
"found" : true,
"_source" : {
"data" : "e1xydGYxXGFuc2kKVGhpcyBpcyB0aGUgY29udGVudCBvZiBhIFJURiBmaWxlClxwYXIgfQ==",
"attachment" : {
"content_type" : "application/rtf",
"language" : "en",
"content" : "This is the content of a RTF file",
"content_length" : 35
}
}
}
請注意,_source 字段現在包括原始的 Base64 數據和提取的附件詳細信息,例如文件類型和內容。
結論
Ingest Attachment 插件是一個強大且用戶友好的工具,用於從各種文件格式中提取內容和元數據。它直接與 Elasticsearch 集成,以實現無縫的數據攝取。欲了解更多信息,請參閱 官方文檔。