Можем ли мы искать.txt файлы в поисковой системе Solr?

Я использую поисковую систему Solr для целей моего проекта при поиске документов. Мой набор данных в формате.txt. Но solr предоставляет опции только для json,xml,pdf и некоторых других форматов файлов. Там нет опции для текстовых файлов.
Нужны ли какие-то изменения в solr для использования файлов.txt в качестве набора данных?

5 ответов

Помимо текстовых файлов, Solr также может индексировать несколько других форматов документов. Посмотрите на Apache Tika для деталей.

Все, что вам нужно сделать - это проиндексировать ваш текстовый файл.

Для получения дополнительной информации и конкретных примеров посмотрите здесь - http://www.slideshare.net/LucidImagination/indexing-text-and-html-files-with-solr-4063407

Скорее всего, у вас будут документы, разделенные пробелами, в файлах.txt. Чтобы индексировать файл.txt, вы можете написать сценарий python для потоковой передачи ваших документов, чтобы найти и выполнить коммит.

Я нашел очень полезную строку в руководстве по быстрому старту https://lucene.apache.org/solr/5_3_1/quickstart.html

java -classpath /solr-5.0.0/dist/solr-core-5.0.0.jar -Dauto=yes
-Dc=gettingstarted -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool docs/

Часть, которая особенно полезна для меня, -Dauto=yes, Когда эта опция включена, Solr может обрабатывать много типов файлов (не спрашивайте меня, почему)

Entering auto mode. File endings considered are xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log

Все, что я знаю, это то, что я включил эту опцию, и теперь мой экземпляр будет принимать файлы pdf, xml и txt.

Вы можете использовать обработчик запросов CSV, чтобы позаботиться об этом. https://wiki.apache.org/solr/UpdateCSV Здесь вы можете настроить разделители и экранирующие символы. Например, если у вас есть "|" файл с разделителями, вы можете указать "&separator=|"

Ниже для индексации текстового файла с вкладками:

curl ' http://localhost:8983/solr/update/csv?commit=true&separator=%09&escape=\ & stream.file = / tmp / result.txt'

Другие вопросы по тегам