Как отображать имена файлов в результатах поиска с помощью Solr FileListEntityProcessor

#solr #apache-tika

#solr #apache-tika

Вопрос:

Я пытаюсь отсканировать все файлы pdf / doc в каталоге. Это работает нормально, и я могу сканировать все документы.

Следующее, что я пытаюсь сделать, это также получить имя файла в результатах поиска. Однако имя файла никогда не отображается. Я попробовал пару вещей, но документация не очень полезна о том, как это сделать.

Я использую конфигурацию solr, найденную в дистрибутиве solr: apache-solr-3.1.0/example/пример-DIH/solr/tika/conf

Это моя конфигурация данных:

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

Вы должны использовать file вместо fileName в столбце

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

Не забудьте добавить ‘fileName’ в schema.xml в разделе «Поля».

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