如何在弹性搜索中索引pdf文档内容?

时间:2016-10-19 10:52:18

标签: java elasticsearch full-text-search elasticsearch-plugin elasticsearch-2.0

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.

以下是我能想到的选项:

  
      
  1. 我应该只添加一个字段“content”,其数据类型为String,只是将文档内容存储为字符串吗? (但不确定   它适用于大尺寸文件)

  2.   
  3. 或者我应该将该字段设为二进制并在那里对文档内容进行编码。 (但它不会被搜索)

  4.   

请告知。

1 个答案:

答案 0 :(得分:1)

这完全取决于您是否可以构建内容。例如,如果您要存储发票(传入的PDF文件),您可以设置一些模式以查找公司名称,地址,项目,价格,增值税等,并将这些数据存储在干净的JSON表单中。搜索速度快,存储效率高。

另一方面,您可能存储了一些随机内容(或者您不知道内容是什么)。在这种情况下,您应该只读取您可以读入内容字符串的所有数据并“按原样”存储它。您仍然可以通过关键字和短语进行全文搜索,但不进行结构搜索或排序(companyName=ABC)。

在这两种情况下,我都会将初始二进制文件存储在文件系统的某个位置(如my-uid-string.pdf),并在需要时将其作为简单文件提供。我不想将二进制数据存储在数据库中,即使它们中的大多数都有能力这样做。

相关问题