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

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

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

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

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

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

5 ответов


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

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

  1. изменить solrConfig.xml to включить следующие строки:

    <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 "myfile=@testDocToExtractFrom.txt"

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

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


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

для индексирования pdf вы могли бы

1.) сканирование каталога, чтобы найти все pdf-файлы с помощью FileListEntityProcessor

2.) чтение pdf-файлов из файла"content/index" -XML, используя XPathEntityProcessor

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


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

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

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

Я проанализировал xml-файлы с помощью lxml и отправил их в solr


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


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

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