如何使用Solr的FileListEntityProcessor在搜索结果中显示文件名

时间:2011-05-13 09:55:37

标签: solr apache-tika

我正在尝试扫描目录中的所有pdf / doc文件。这工作正常,我能够扫描所有文件。

我要做的下一件事是在搜索结果中接收文件的文件名。然而,文件名永远不会出现。我尝试了几件事,但文档对于如何执行此操作并不是很有帮助。

我正在使用solr发行版中的solr配置: apache-solr-3.1.0 / example / example-DIH / solr / tika / conf

这是我的dataConfig:

<dataConfig>
  <dataSource type="BinFileDataSource" name="bin"/>
  <document>
    <entity name="f" processor="FileListEntityProcessor" recursive="true" 
            rootEntity="false" dataSource="null" baseDir="C:/solrtestsmall"
            fileName=".*\.(DOC)|(PDF)|(pdf)|(doc)" onError="skip">

      <entity name="tika-test" processor="TikaEntityProcessor" 
              url="${f.fileAbsolutePath}" format="text" dataSource="bin" 
              onError="skip">
        <field column="Author" name="author" meta="true"/>
        <field column="title" name="title" meta="true"/>
        <field column="text" name="text"/>
      </entity>

      <field column="fileName" name="fileName"/>
    </entity>
  </document>
</dataConfig>

我对如何正确配置它的方式以及我可以找到特定文档的任何其他地方感兴趣。

1 个答案:

答案 0 :(得分:3)

您应该在列

中使用file而不是fileName
<field column="file" name="fileName"/>

不要忘记将“fileName”添加到fields部分的schema.xml中。

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