# Pdf等の検索について

**URL:** <https://discuss.elastic.co/t/pdf/57180>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [August 4, 2016, 7:00am UTC](https://discuss.elastic.co/t/pdf/57180 "2016-08-04T07:00:51Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 4, 2016, 7:00am UTC](https://discuss.elastic.co/t/pdf/57180/1 "2016-08-04T07:00:51Z")

</div>

はじめまして。

Elasticsearchの使用に関して検討を始めたばかりの初心者です。

Elasticsearchを使用して、PDF等の資料の検索等を検討しております。

ManifoldCF等のクローラーを使用して、PDF等のファイルをElasticsearchへ蓄積はできるのですが、  
手作業で、Elasticsearchへ蓄積する場合、Base64で変換し、その後変換したファイルをElasticsearchへ蓄積する方法しかないのでしょうか？  
PDF等をそのまま指定して、Elasticsearchへ蓄積する方法等は無いのでしょうか？

ご教授をお願いします

---

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 5, 2016, 8:51am UTC](https://discuss.elastic.co/t/pdf/57180/2 "2016-08-05T08:51:50Z")

</div>

おせわになります。

PDFファイル等の「Elasticsearch」への蓄積に関する質問に関しては、仕様に関する勘違いもあり自己解決できました。

ただ、Senceから蓄積されたデータを検索した場合に、思ったような検索結果が得られません。  
（一部の文言は検索できるようです。）

下記がSenceへの入力になります。

GET \_search  
{  
"fields" : ["uri", "file.\_name", "file.\_content\_type", "file.\_content"],  
"query" : {  
"query\_string": {  
"query": "LIST"  
}  
}  
}

Indexの定義や、Setting等なにか設定が必要なのでしょうか？

質問ばかりで、申し訳ございません。  
ご教授をお願いします。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [August 5, 2016, 9:15am UTC](https://discuss.elastic.co/t/pdf/57180/3 "2016-08-05T09:15:28Z")

</div>

すみません、どんなデータを入れて、検索できないものと検索できないものがどんなものかを書いていただけますでしょうか？

---

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 8, 2016, 2:20am UTC](https://discuss.elastic.co/t/pdf/57180/5 "2016-08-08T02:20:06Z")

</div>

お世話になります。

登録しているデータファイルは、WORDから作成したPDFファイルで、内部技術資料となっております。

ほとんどのドキュメントで使用されている、”TABLE”や”LIST”といった文字列では、検索結果が0件となります。  
（PDFをAcrobat Reader等で表示し、検索すると文言は含まれております。）  
また、”AI”や”AII”等の文字列では、それなりに検索できているのではと思いますが、”AII”と”I”を一文字追加すると、検索結果が、希望結果と異なってきます。

・追加情報  
登録しているPDFファイルは、すべて電子署名されたPDFファイルとなります。そのため、暗号化されていると思われます。

以上、ご教授をお願いします。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [August 8, 2016, 3:54am UTC](https://discuss.elastic.co/t/pdf/57180/6 "2016-08-08T03:54:04Z")

</div>

暗号化されているというのはパスワード付きということでしょうか？  
パスワードが付いているファイルは読み込めないと思いますが。。。

こちらの設定を行うと、エラーが出ているかがわかると思います。  
[https://www.elastic.co/guide/en/elasticsearch/plugins/master/mapper-attachments-error-handling.html](https://www.elastic.co/guide/en/elasticsearch/plugins/master/mapper-attachments-error-handling.html)

---

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 8, 2016, 6:38am UTC](https://discuss.elastic.co/t/pdf/57180/7 "2016-08-08T06:38:46Z")

</div>

お世話になります。

PDFには、パスワードは設定されておりません。  
電子署名されているだけになります。

また、「Metadata parsing error handling」の設定を下記の様に実行してみたのですが、エラーとなります。  
indexは「doc\_search」です。

curl -XPUT [http://XX.XX.XX.XX:9200/doc\_search?pretty](http://XX.XX.XX.XX:9200/doc_search?pretty) -d '{ "index.mapping.attachment.ignore\_errors": false }'  
{  
"error" : {  
"root\_cause" : [ {  
"type" : "index\_already\_exists\_exception",  
"reason" : "already exists",  
"index" : "doc\_search"  
} ],  
"type" : "index\_already\_exists\_exception",  
"reason" : "already exists",  
"index" : "doc\_search"  
},  
"status" : 400  
}

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [August 8, 2016, 7:15am UTC](https://discuss.elastic.co/t/pdf/57180/8 "2016-08-08T07:15:44Z")

</div>

残念ながら、"index.mapping.attachment.ignore\_errors"はインデックス生成時にのみ設定できる項目なので、別途インデックスを作成して試してみてください。

---

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 8, 2016, 9:07am UTC](https://discuss.elastic.co/t/pdf/57180/9 "2016-08-08T09:07:54Z")

</div>

おせわになります。

インデックスを再度生成し、"index.mapping.attachment.ignore\_errors"を設定しました。  
インデックスの情報を確認しても、”"index.mapping.attachment.ignore\_errors"”がFALSEに設定されている事を確認しました。

PDFの登録時になどに、「/var/log/elasticsearch/elasticsearch.log」にエラーは出力されませんでした。

ついでに、  
"file" : {  
"properties" : {  
"\_content" : {  
"type" : "attachment",  
で、”attachment”が定義されている事も再度確認しました。

その他、なにか確認すべき内容等ありますでしょうか？

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [August 9, 2016, 6:17am UTC](https://discuss.elastic.co/t/pdf/57180/10 "2016-08-09T06:17:36Z")

</div>

実際にデータがうまく抜き出せているかどうかを`StandaloneRunner`で確認したり、  
[https://www.elastic.co/guide/en/elasticsearch/plugins/2.3/mapper-attachments-standalone.html](https://www.elastic.co/guide/en/elasticsearch/plugins/2.3/mapper-attachments-standalone.html)

文字の制限に引っかかってないかを確認してはどうでしょうか？  
[https://www.elastic.co/guide/en/elasticsearch/plugins/2.3/mapper-attachments-indexed-characters.html](https://www.elastic.co/guide/en/elasticsearch/plugins/2.3/mapper-attachments-indexed-characters.html)

あとは、Mappingがどうなっているかによって検索がうまく動いているかどうかを確認したりが良いかと。  
それぞれのフィールドの定義がどうなっているか、どんな検索クエリを投げているかなど。  
[https://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-validate.html)

---

<div class="post-metadata">

**Author:** ![MMitsuhata](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@MMitsuhata](https://discuss.elastic.co/u/MMitsuhata)\
**Post date:** [August 10, 2016, 6:48am UTC](https://discuss.elastic.co/t/pdf/57180/11 "2016-08-10T06:48:41Z")

</div>

おせわになります。

無事に、PDFファイルの検索を行うことができました。

問題の個所は、インデックスを作成する際にPDFのデータを格納するフィールドのタイプを”attachment”にして作成していたつもりが、定義がずれていたようで、実際にデータが格納されていたフィールドタイプが”String”となっておりました。  
そのため、検索できなかったようです。

ご教授、ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:46pm UTC](https://discuss.elastic.co/t/pdf/57180/12 "2017-07-06T13:46:34Z")

</div>


