如何在ApacheSolr中索引pdf/word文档

如何在ApacheSolr中索引pdf/word文档,solr,Solr,我是大数据环境的新手,因此,如果下面的问题毫无意义,我首先道歉 我想阅读word/pdf文档并在SolR中为这些文档编制索引。我知道SolR接受JSON或XML格式,而不是word/pdf/txt文件。在将文档发送到SolR之前,是否需要将word/pdf文档转换为JSON或XML?我最初认为应该使用Tika,但我的理解是Tika可以将pdf转换为文本,而不是JSON 请您指导如何在Solr中编制索引好吗 感谢您的帮助索引“富文件”的标准端点位于更新/提取,因此如果您将文件发布到该目标,Solr

我是大数据环境的新手,因此,如果下面的问题毫无意义,我首先道歉

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

请您指导如何在Solr中编制索引好吗


感谢您的帮助

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

本手册中的描述为您提供了如何通过HTTP提交带有curl的文档的低级介绍,以及启用automagic提取所需的配置选项(在一些示例(数据驱动的技术产品iirc)中启用了automagic提取):

如果您没有使用提供的示例\u techproducts\u configs或数据\u驱动的\u schema\u configs配置集,则必须配置自己的solrconfig.xml以了解包含ExtractingRequestHandler的Jar及其依赖项:

`
然后可以在solrconfig.xml中配置ExtractingRequestHandler


上次修改
忽略_
/my/path/to/tika.config
每天
parseContext.xml

请阅读-JSON/XML格式只是对您要访问的文件的描述submitting@user1859022-谢谢。我只能单独索引文档的元数据。但是,我无法索引这些文档中的实际内容。是否存在可以提取实际内容的方法?
<lib dir="${solr.install.dir:../../..}/contrib/extraction/lib" regex=".*\.jar" />`
<lib dir="${solr.install.dir:../../..}/dist/" regex="solr-cell-\d.*\.jar" />
<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>