2017-02-08 20 views
3

Elasticsearch ingestプラグインを使用して、pdf文書でフルテキストベースの検索を実装する必要があります。私が単語somewordをpdf文書で検索しようとしているときに、空のヒット配列を取得しています。Elasticsearch ingest-attachmentプラグインを使用してPDFファイルをインデックスする方法はありますか?

//Code for creating pipeline 

PUT _ingest/pipeline/attachment 
{ 
    "description" : "Extract attachment information", 
    "processors" : [ 
     { 
     "attachment" : { 
     "field" : "data", 
     "indexed_chars" : -1 
     } 
     } 
    ] 
} 

//Code for creating the index 

PUT my_index/my_type/my_id?pipeline=attachment 
{ 
    "filename" : "C:\\Users\\myname\\Desktop\\bh1.pdf", 
    "title" : "Quick", 
    "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=" 

} 

//Code for searching the word in pdf 

GET /my_index/my_type/_search 
{ 
    "query": { 
    "match": { 
     "data" : { 
     "query" : "someword" 
    } 
} 
} 
+0

、あなたはそれに「someword」を検索し、一致するものを見つけることができますか? – Alcanzar

+0

@Alcanzarうん、それは単語を検索します。 – Ashley

+0

これはhttp://stackoverflow.com/questions/37861279/how-to-index-a-pdf-file-in-elasticsearch-5-0-0-withinging-attachment-pluginの複製のようです。 PUTステートメントがファイルの特定の "データ"を入れていることに注意してください。特定のファイルデータを渡すには、カールなどを使用する必要があります。あなたが入れている "データ"は "Lorem ipsum dolor sit amet"です - Loremを検索すると結果は – Alcanzar

答えて

2

あなたはBase64でエンコードされたコンテンツを渡すことによって、2番目のコマンドでインデックスあなたの文書が、文書はその後、次のようになります。

 { 
      "filename": "C:\\Users\\myname\\Desktop\\bh1.pdf", 
      "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0=", 
      "attachment": { 
       "content_type": "application/rtf", 
       "language": "ro", 
       "content": "Lorem ipsum dolor sit amet", 
       "content_length": 28 
      }, 
      "title": "Quick" 
     } 

だからあなたのクエリがattachment.contentフィールドを調べていないする必要がありますdata 1(唯一のインデックス作成時に生のコンテンツを送信する目的を果たしている)

これにクエリを変更し、それが動作します:

POST /my_index/my_type/_search 
{ 
    "query": { 
     "match": { 
     "attachment.content": {   <---- change this 
      "query": "lorem" 
     } 
     } 
    } 
} 

PS:あなたはPDFビューアでPDFを開いた場合は、代わりGETの使用POSTペイロードを送信

+0

これはうまくいきました。他に必要なものは何ですか? – Val

+0

弾性検索を使用してpdfファイルをbase64でエンコードされたファイルに変換するにはどうすればよいですか? – Ashley

+0

私はこれが新しいものではないと考えています。 – Val

関連する問題