it-roy-ru.com

Индексирование PDF с Солр

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

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

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

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

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

15
Mark

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

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

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

Я проанализировал XML-файлы с помощью lxml и опубликовал их, чтобы решить

1
Mark

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

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

17
Raj Saxena

Вы можете использовать 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 -gration/ (пример с ppt) и this Solr: обработчик импорта данных и ячейка solr

4
The Bndr
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);
}

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

0
Avtar Singh

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

0
whomer