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

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

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

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

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

Я потерялся - пожалуйста, помогите


person Mark    schedule 14.07.2011    source источник


Ответы (6)


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

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

  1. Измените 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.Добавьте в свой проект необходимые jar-файлы из 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 и запросите просмотр проиндексированного содержимого.

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

person Raj Saxena    schedule 19.08.2014
comment
Это проиндексировало PDF-документы, но когда я ищу содержимое внутри PDF-файла, он не показывает никаких результатов. Как мы можем сделать это? - person eswara amirthan s; 01.08.2020

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

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

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

2.) чтение pdf из XML-файла «content/index» с использованием XPathEntityProcessor

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

person The Bndr    schedule 15.07.2011
comment
Можно ли как-то просмотреть это проанализированное содержимое pdf? (я имею в виду необработанный текст) - person zygimantus; 17.01.2017
comment
Вы можете установить поле содержимого на stored = true. Если вы ищете документ в solr, вы можете распечатать сохраненное поле, например, для предварительного просмотра или подсветки синтаксиса. - person The Bndr; 24.01.2017
comment
Вы имеете в виду, что этот параметр доступен как параметр или это конфигурация? - person zygimantus; 24.01.2017

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

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

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

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

person Mark    schedule 04.08.2011

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

person whomer    schedule 02.06.2014
comment
Привет! Я пытаюсь это сделать, но при индексировании PDF-документов с помощью curl я получаю сообщение об ошибке Error 500 java.lang.NoClassDefFoundError: org/eclipse/jetty/server/MultiParts Есть идеи? - person Dennis Konoppa; 24.07.2020

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);
}

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

person Avtar Singh    schedule 10.12.2016

Apache Solr теперь может индексировать все виды двоичных файлов, таких как PDF, Words и т. д. ... ознакомьтесь с этим документом:
https://lucene.apache.org/solr/guide/8_5/uploading-data-with-solr-cell-using-apache-tika.html

person Adelin    schedule 06.05.2020