如何在Apache SolR中索引pdf / word文档

时间:2016-08-11 10:15:52

标签: solr

我是大数据环境的新手,因此如果以下查询毫无意义,请先道歉。

我想阅读一个单词/ pdf文档并在SolR中索引这些文档。我知道SolR接受JSON或XML格式而不是word / pdf / txt文件。在将文档发送到SolR之前,是否有必要将word / pdf文档转换为JSON或XML?我最初认为我应该使用Tika,但我的理解是Tika可以将pdf转换为文本而不是JSON。

你能指导一下索尔的索引吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

索引“富文件”的标准端点位于update/extract,因此如果您将文件发布到该目标,Solr将在内部通过Tika运行它,提取文本和属性。您可以通过带有literal.fieldname=value参数的URL(例如ID,文件名,其他元数据)提供文字值。

本手册中的Uploading Data with Solr Cell using Apache Tika描述为您提供了如何通过HTTP提交curl文档的简要介绍,以及启用自动提取所需的配置选项(可以在示例(数据驱动,技术产品iirc)):

  

如果您不使用提供的sample_techproducts_configs或data_driven_schema_configs配置集,则必须配置自己的solrconfig.xml以了解包含ExtractingRequestHandler及其依赖项的Jar:

<lib dir="${solr.install.dir:../../..}/contrib/extraction/lib" regex=".*\.jar" />`
<lib dir="${solr.install.dir:../../..}/dist/" regex="solr-cell-\d.*\.jar" />
  

然后,您可以在solrconfig.xml中配置ExtractingRequestHandler。

<requestHandler name="/update/extract" class="org.apache.solr.handler.extraction.ExtractingRequestHandler">
  <lst name="defaults">
    <str name="fmap.Last-Modified">last_modified</str>
    <str name="uprefix">ignored_</str>
  </lst>
  <!--Optional.  Specify a path to a tika configuration file. See the Tika docs for details.-->
  <str name="tika.config">/my/path/to/tika.config</str>
  <!-- Optional. Specify one or more date formats to parse. See DateUtil.DEFAULT_DATE_FORMATS
       for default date formats -->
  <lst name="date.formats">
    <str>yyyy-MM-dd</str>
  </lst>
  <!-- Optional. Specify an external file containing parser-specific properties.
       This file is located in the same directory as solrconfig.xml by default.-->
  <str name="parseContext.config">parseContext.xml</str>
</requestHandler>