在solr(8.1)搜索结果中获取文件名时遇到问题

时间:2019-07-09 12:48:56

标签: solr filenames

我想在Solr 8.1的搜索结果中获取文件名,但是它不起作用。

请注意:我确实在这里找到了所有相关问题,但是它们要么已经过时,要么对我不起作用。

我刚开始使用Solr 8.1,在完成了本教程之后,我开始在无模式模式下创建一个新集合。

我从tika-data-config.xml复制了/example/example-DIH/solr/tika/conf/并将其命名为my_tika-data-config。然后,我将行从<field column="file" name="id"/>更改为<field column="file" name="fileName"/>

<dataConfig>
  <dataSource type="BinFileDataSource"/>
  <document>
    <entity name="file" processor="FileListEntityProcessor" dataSource="null"
            baseDir="${solr.install.dir}/example/exampledocs" fileName=".*pdf"
            rootEntity="false">

      <field column="file" name="fileName"/>

      <entity name="pdf" processor="TikaEntityProcessor"
              url="${file.fileAbsolutePath}" format="text">

        <field column="Author" name="author" meta="true"/>
        <!-- in the original PDF, the Author meta-field name is upper-cased,
          but in Solr schema it is lower-cased
         -->

        <field column="title" name="title" meta="true"/>
        <field column="dc:format" name="format" meta="true"/>

        <field column="text" name="text"/>

      </entity>   
    </entity>
  </document>
</dataConfig>

然后我编辑了solorconfig.xml以使用DataImportHandler

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">     
      <str name="config">C:/Solr/solr-8.1.1/example/example-DIH/solr/tika/conf/my_tika-data-config.xml</str>
    </requestHandler>

managed-schema.xml文件中,我像这样添加了字段“ fileName”:

<field name="fileName" type="string" indexed="true" stored="true"/>

我还添加了以下几行:

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

solrconfig.xml,以消除dataimport类的错误。

最后,我使用命令(Windows)重新索引了10个测试pdf文件:

java -jar -Dc=test_collection3 -Dauto example\exampledocs\post.jar Test_PDFs\*

查询某些内容并过滤文件名时,将得到以下内容而不是文件名:


{
  "responseHeader":{
    "status":0,
    "QTime":0,
    "params":{
      "q":"*:*",
      "fl":"fileName",
      "_":"1562669763731"}},
  "response":{"numFound":10,"start":0,"docs":[
      {},
      {},
      {},
      {},
      {},
      {},
      {},
      {},
      {},
      {}]
  }}

有人可以告诉我我哪里做错了吗?

0 个答案:

没有答案