Solr 8.4.1云:bin/post -文件未找到问题

j8yoct9x  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(187)

我是Solr的新手,一直在学习8.4.0的教程。在使用SolrCloud成功地学习了techproducts的例子之后,我现在尝试使用一种无模式的方法来索引一些PDF文件。为此,我使用了教程中的以下代码,来索引存储在~/Documents/pdf文件夹中的几个文件:

bin/solr create -c localpdf -s 2 - rf 2
bin/post -c localpdf ~/Documents/pdf

当执行上述操作时,我得到以下错误:

SimplePostTool: WARNING: Response: <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Error 404 Not Found</title>

</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/localpdf/update/extract. Reason:
<pre>    Not Found</pre></p>
</body>
</html>
SimplePostTool: WARNING: IOException while reading response: java.io.FileNotFoundException: http://localhost:8983/solr/localpdf/update/extract?resource.name=%2Fhome%2Fuser%2FDocuments%2Fpdf%2Ftest234.pdf&literal.id=%2Fhome%2Fuser%2FDocuments%2Fpdf%2Ftest234.pdf

使用techproducts运行相同的命令,即运行:

bin/post -c techproducts ~/Documents/pdf

至少找到了文件(它给了我一些与PDFBox和一些字体相关的其他错误,但这是另一回事)
我可以添加其他文件,例如example/exampledocs文件夹中的XML到localpdf,但不能添加pdf。
我错过了什么?

kmbjn2e3

kmbjn2e31#

你必须配置你的core / collection来加载提取请求处理程序-否则它将不可用。techproducts核心默认会这样做。将jar添加到要加载的jar列表中:

<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>

相关问题