Индексирование 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, чтобы вы начали быстро.
необходимые изменения конфигурации следующим образом:
-
изменить
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);
}
Это может помочь.