1
I am trying to index documents (read Pdf for ex) into elastic search. 
My objective is to search documents based on matching content string. 
To extract the document content, I am using Apache Tika . 
I am not sure how should i index the document content along with document meta-data. 

私は考えることができるオプションは次のとおりです。弾性検索でPDF文書コンテンツをどのようにインデックス化しますか?以下は

  1. は、私は単なる文字列としてデータ型を有する一つのフィールド「コンテンツ」を追加して、単にそこに文字列として文書コンテンツを格納する必要がありますか? (ただし、大きなサイズのドキュメントでは を使用しても問題ありません)

  2. またはこのフィールドをバイナリにしてそこのドキュメントコンテンツをエンコードする必要があります。 (しかし、それは、検索されません)

お知らせください。

答えて

1

コンテンツを構造化できるかどうかは、すべてそれによって異なります。たとえば、請求書(受信PDFファイル)を保存する場合、会社名、住所、品目、価格、付加価値税などを検索し、このデータをクリーンなJSON形式で保存するためのパターンを設定できます。検索は高速で効率的です。

一方、ランダムなコンテンツを保存している場合(またはコンテンツの内容がわからない場合)は、そのような状況では、読み込むことができるすべてのデータをコンテンツ文字列に読み込んで、「そのまま」保存する必要があります。あなたはまだ全文検索(キーワードとフレーズで)を取得しますが、構造検索や注文はしません(companyName=ABC)。

どちらの場合でも、私は最初のバイナリファイルをファイルシステム(my-uid-string.pdfのような)のどこかに保存し、必要なときに単純なファイルとして提供します。私はデータベースにバイナリデータを保存したくないのですが、ほとんどの人がそれを行う能力があります。

+0

私の使用例は2番目のランダムな内容です。私は特定のファイルが何を持っているのかわかりませんが、テキストがある場合は、それを弾力的な検索に保存し、それらのテキストに基づいて検索可能にしたいと思います。全文検索であっても、文書コンテンツを弾性検索に格納する必要があり、それが私の懸念事項です。ドキュメントコンテンツをどのように保存する必要がありますか?なぜなら私が文字列として格納すると、大きな文書に問題が生じるからです。 – AKS

+0

大きい文字列はElasticで格納できますが、Luceneでは索引付けできません。しかし、大きな文字列を短い文字列として自動的に解釈する仕組みがあります。ここであなたの研究を開始することができます:http://stackoverflow.com/a/28831582/5848808 - 幸運! –

関連する問題