Ingest Attachment Processor Plugin利用時のattachment型設定について


(Sho Hatanaka) #1

Elasticsearch、プラグインをを最新バージョン(5.0.0-alpha4)で構築・設定を行いました。
ですが、Mappingの定義で「attachment」という型を認識させることができず、理由が不明な状況です。
どのような考えで対応すべきかについて、教えていただけないでしょうか。
(旧プラグインのMapper
Attachmentではインストールするときに該当の型を認識できるようになるようなのですが、置き換わった新プラグインではどうすればよいのでしょうか)

‐関連ページ

https://www.elastic.co/guide/en/elasticsearch/plugins/master/using-ingest-attachment.html


(Jun Ohtani) #2

Ingest Attachment PluginとMapper Attachment Pluginはそもそもコンセプトが異なります。

Ingest Attachment Pluginは5.0から導入されたIngest Nodeと言う仕組みにより、データを登録する前処理を行うことができるようになる機能になります。
Ingest Nodeに関してはこちらをご覧ください。

前処理でデータを展開できるようになったため、「attachment」という型は必要なくなっています。
なので、authorやtitleなどがJSONに展開される形となります。
上記のIngest Nodeに関するドキュメントを読んで、試してみてください。


(Sho Hatanaka) #3

失礼しました。pipelineの設定ミスでした。
Attachmentの型はなくなったのですね。下記の記載があるので、Attachmentという型があるのだと思ってしまいました。
ご確認いただけますか。必要に応じてマニュアルを見直して頂ければと思います。

□URL
https://www.elastic.co/guide/en/elasticsearch/plugins/master/using-ingest-attachment.html

□マニュアル記載とご指摘頂いた点の不整合について
Table 1. Attachment options
target_field のDefaultがattachment となっています。存在しないはずの型が記載されているようです。


(Jun Ohtani) #4

target_fieldは「フィールド名」の指定になります。型ではないですね。
なので、デフォルトだとattachmentというオブジェクトフィールドの下に、タイトルなどが入る形になります。
target_fieldを指定した場合は、ここのオブジェクトフィールドの名前が変更できます。


(Sho Hatanaka) #5

フィールド名はfield で設定してうまくいっています。target_fieldとの違いは何なんでしょうか。
(タイトルと関係のない質問になってしまっているので、起票しなおすべきかもですが、関連しているのでここで質問させて頂きます)


(Jun Ohtani) #6

fieldはDescriptionにもありますが、base64されたデータ(PDFやWordなど)が入っているフィールドを指定します。取り出す元のフィールドの指定です。

target_fieldは、fieldのデータから抽出されたtitleauthorが保存されるフィールドになります。
Ingest Attachmentのプラグインは、元データを消すのではなく、別のフィールド(target_field)にデータを抜き出す Processorになります。
_simulateの結果を見ていただくとわかりますが、fieldで指定したフィールドとは別にtarget_field(指定しない場合はattachment)が増えていることがわかると思います。


(Sho Hatanaka) #7

迅速な回答ありがとうございます。
試したらわかりました。


(system) #8