Как уже упоминал MatsLindh, подход к достижению того, что вы ищете.
Вот несколько шагов, с помощью которых вы можете индексировать файлы с известным расположением.
Обновите solrConfig.xml с помощьюстроки ниже
<!-- Load Data Import Handler and Apache Tika (extraction) libraries -->
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar"/>
<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar"/>
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">tika-data-config.xml</str>
</lst>
</requestHandler>
Создайте файл с именем tika-data-config.xml
в папке G:\Solr\TikaConf\conf
.с приведенной ниже конфигурацией.Это место может быть другим для вас.
<dataConfig>
<dataSource type="BinFileDataSource"/>
<document>
<entity name="file" processor="FileListEntityProcessor" dataSource="null"
baseDir="G:/Solr/solr-7.7.2/example/exampledocs" fileName=".*xml"
rootEntity="false">
<field column="file" name="id"/>
<entity name="pdf" processor="TikaEntityProcessor"
url="${file.fileAbsolutePath}" format="text">
<field column="text" name="text"/>
</entity>
</entity>
</document>
</dataConfig>
Добавьте следующие поля в ваш schema.xml
<field name="text" type="text_general" indexed="true" stored="true" multiValued="false"/>
Обновите XML-файл solrConfig, как показано ниже, чтобы отключить режим без схемы
<!-- The update.autoCreateFields property can be turned to false to disable schemaless mode -->
<updateRequestProcessorChain name="add-unknown-fields-to-the-schema" default="${update.autoCreateFields:false}"
processor="uuid,remove-blank,field-name-mutating,parse-boolean,parse-long,parse-double,parse-date,add-schema-fields">
<processor class="solr.LogUpdateProcessorFactory"/>
<processor class="solr.DistributedUpdateProcessorFactory"/>
<processor class="solr.RunUpdateProcessorFactory"/>
</updateRequestProcessorChain>
Перейдите на страницу администрирования Solr, выберите созданное вами ядро и нажмите на импорт данных.
После того, как данные импортированы или проиндексированы, вы можете проверитьто же самое, запросив его.
Если местоположение файла динамическое, это означает, что вы извлекаете местоположение файла из базы данных, а затем это будет ваш первыйобъект, который извлекает информацию из вашей базы данных о метаданных файлов, таких как идентификатор, имя, автор, путь к файлу и т. д. Во втором объекте, который является TikaEntityProcessor, передайте путь к файлу и получите индексированное содержимое файла ...