2016-10-20 7 views
0

Я использую Solr 6.2.1 и ExtractingRequestHandler (уже включенный в Solr 6.2.1) для индексирования pdf и текстовых документов. Все документы (pdf и word) индексируются метаданными (название, дата, cp_revision, compagny, ...), но поле содержимого всегда пустое.Solr ExtractingRequestHandler дает пустое поле для заполнения

В соответствии с documentation у меня должно быть поле для непустого содержимого: «Тика добавляет весь извлеченный текст в поле содержимого».

Кто-нибудь знает, почему поле содержимого пуст? Согласно этому post answer, возможно, потому, что я открываю свой файл в не двоичном режиме, но как это сделать в двоичном режиме?

Это мой solrconfig.xml файл:

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" /> 
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" /> 

... 

<requestHandler name="/update/extract" 
       startup="lazy" 
       class="solr.extraction.ExtractingRequestHandler" > 
    <lst name="defaults"> 
    <str name="xpath">/xhtml:html/xhtml:body/descendant:node()</str> 
    <str name="capture">content</str> 
    <str name="fmap.meta">attr_meta_</str> 
    <str name="uprefix">attr_</str> 
    <str name="lowernames">true</str> 
    </lst> 
</requestHandler> 

ответ

0

Try индексация с файлов пример в примеры/файлы, он предназначен для разбора формат форматированного текста. Если это сработает, вы можете понять, что пошло не так в вашем определении. Я подозреваю, что параметр xpath может быть неправильным и возвращает только пустой контент.

+0

Я тестировал пример файлов, и он тоже не работает. Что я должен изменить в параметре xpath? Это оригинальный файл solrconfig.xml, я ничего не изменил. –

+0

Если в примере с исходными файлами нет содержимого, тогда ваш PDF, скорее всего, просто изображения без содержимого. Но это должно работать для MSWord? В противном случае отходите от Solr и тестируйте его непосредственно с отдельно загруженной Tika (что и делает Solr под крышками). –

0

Я использовал изображение solr: alpine Docker и имел ту же проблему. Оказывается, поле «контент» было отображено в поле «текст» Solr, которое индексируется, но не сохраняется по умолчанию. Смотрите, если «fmap.content = doc_content» в Curl делает трюк.