Подтвердить что ты не робот

Индексирование PDF с помощью Solr

Может ли кто-нибудь указать мне на учебник.

Мой основной опыт работы с Solr - это индексирование CSV файлов. Но я не могу найти никаких простых инструкций/учебников, чтобы рассказать мне, что мне нужно сделать, чтобы индексировать PDF файлы.

Я видел это: http://wiki.apache.org/solr/ExtractingRequestHandler

Но для меня это очень мало смысла. Нужно ли устанавливать Tika?

Im lost - пожалуйста, помогите

4b9b3361

Ответ 1

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

Aperture - это платформа Java для извлечения и запроса полнотекстового содержимого и метаданных из файлов PDF.

Apeture схватил метаданные из PDF файлов и сохранил их в xml файлах.

Я проанализировал xml файлы, используя lxml, и отправил их в solr

Ответ 2

С solr-4.9 (последняя версия на данный момент) извлечение данных из богатых документов, таких как pdf, электронные таблицы (xls, xlxs family), презентации (ppt, ppts), документация (doc, txt и т.д.) стала довольно простой, Примеры примеров кода, приведенные в загруженном архиве из здесь содержит базовый проект шаблона solr, который поможет вам быстро начать работу.

Необходимые изменения конфигурации следующие:

  • Измените solrConfig.xml, чтобы включить следующие строки:

    <lib dir="<path_to_extraction_libs>" regex=".*\.jar" /> <lib dir="<path_to_solr_cell_jar>" regex="solr-cell-\d.*\.jar" />

создайте обработчик запроса следующим образом:

<requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" > <lst name="defaults" /> </requestHandler>

2. Добавьте необходимые банки из файла solrExample в свой проект.

3. Определите схему в соответствии с вашими потребностями и вызовите запрос, например:

curl "http://localhost:8983/solr/collection1/update/extract?literal.id=1&literal.filename=testDocToExtractFrom.txt&literal.created_at=2014-07-22+09:50:12.234&commit=true" -F "[email protected]"

перейдите на портал GUI и запросите, чтобы увидеть индексированное содержимое.

Сообщите мне, если у вас возникнут какие-либо проблемы.

Ответ 3

Вы можете использовать dataImportHandler. DataImortHandle будет определен в файле solrconfig.xml, конфигурация DataImportHandler должна быть реализована в другом файле конфигурации XML (data-config.xml)

Для индексирования pdf вы можете

1.) сканировать каталог, чтобы найти все pdf, используя FileListEntityProcessor

2.), прочитав pdf файл из "содержимого/индекса" -XML файла, используя XPathEntityProcessor

Если у вас есть список связанных PDF файлов, используйте TikaEntityProcessor посмотрите http://solr.pl/en/2011/04/04/indexing-files-like-doc-pdf-solr-and-tika-integration/ (пример с ppt) и этот Solr: обработчик импорта данных и solr ячейки

Ответ 4

Используйте Solr, ExtractingRequestHandler. Это использует Apache-Tika для анализа файла PDF. Я считаю, что он может вытащить метаданные и т.д. Вы также можете пройти через свои собственные метаданные. Извлечение обработчика запросов

Ответ 5

public class SolrCellRequestDemo {
public static void main (String[] args) throws IOException, SolrServerException {
SolrClient client = new
HttpSolrClient.Builder("http://localhost:8983/solr/my_collection").build();
ContentStreamUpdateRequest req = new
ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
req.setParam(ExtractingParams.EXTRACT_ONLY, "true");
NamedList<Object> result = client.request(req);
System.out.println("Result: " +enter code here result);
}

Это может помочь.