2015-04-28 3 views
0

Я делаю POC для индексирования документов PDF и Word, используя поисковую систему solr. Я попытался найти информацию о подробном уровне или статьях, но не получил/нашел какую-либо детальную статью для этого. То, что я нашел, это использовать некоторый пример пакета solr. Это не я.Интеграция Apache TIKA и Solr Cell с Solr для индексирования pdf и текстовых документов

Текущая информация У меня есть возможность использовать Solr Cell и Apache Tika для индексации документов PDF.

Из какого-то жизненного цикла я нашел ссылку http://wiki.apache.org/solr/ExtractingRequestHandler, но это не учебник или шаги для выполнения того, что я хочу. Кроме того, я хочу вызвать solr из .net-приложения, используя solrnet.

Я использую версию Solr 5.1.

я обеспечиваю пример кода, который я выбежала из эталонного Solr документа, как показано ниже

bin/solr -e techproducts 

Он начал пример Solr, например с ядром techproducts. После этого я бежал ниже команды, чтобы индексировать pdf-документ.

curl "http://localhost:8983/solr/techproducts/update/extract?literal.id=doc1&commit=true" -F "[email protected]/exampledocs/solr-word.pdf" 

Он отлично работал.

После этого я создал новое ядро ​​с сервера solr, размещенного на tomcat, и на этом я попытался запустить ту же ошибку и ошибку приемника. Я добавил ниже запроса кода обработчика в solrconfig.xml

<requestHandler name="/update/extract" 
        startup="lazy" 
        class="solr.extraction.ExtractingRequestHandler" > 
    <lst name="defaults"> 
     <str name="lowernames">true</str> 
     <str name="uprefix">ignored_</str> 

     <!-- capture link hrefs but ignore div attributes --> 
     <str name="captureAttr">true</str> 
     <str name="fmap.a">links</str> 
     <str name="fmap.div">ignored_</str> 
    </lst> 
    </requestHandler> 

Сценарий:

C:\tomcat-solr>curl "http://localhost:8090/solr/Core3/update/extract?literal.id= 
    doc1&commit=true" -F "[email protected]/exampledocs/solr-word.pdf" 

Ошибка:

<?xml version="1.0" encoding="UTF-8"?> 
<response> 
<lst name="error"><str name="msg">Error loading class 'solr.extraction.Extractin 
gRequestHandler'</str><str name="trace">org.apache.solr.common.SolrException: Er 
ror loading class 'solr.extraction.ExtractingRequestHandler' 
     at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader. 
java:492) 
     at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader. 
java:423) 
     at org.apache.solr.core.SolrCore.createInstance(SolrCore.java:561) 
     at org.apache.solr.core.PluginBag$LazyPluginHolder.createInst(PluginBag. 
java:343) 
     at org.apache.solr.core.PluginBag$LazyPluginHolder.get(PluginBag.java:32 
8) 
     at org.apache.solr.core.PluginBag.get(PluginBag.java:130) 
     at org.apache.solr.handler.RequestHandlerBase.getRequestHandler(RequestH 
andlerBase.java:219) 
     at org.apache.solr.core.SolrCore.getRequestHandler(SolrCore.java:1263) 
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte 
r.java:382) 
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilte 
r.java:220) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl 
icationFilterChain.java:239) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF 
ilterChain.java:206) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV 
alve.java:219) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV 
alve.java:106) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j 
ava:142) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j 
ava:79) 
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAcce 
ssLogValve.java:610) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal 
ve.java:88) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav 
a:518) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp 
11Processor.java:1091) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:668) 
     at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.pr 
ocess(Http11NioProtocol.java:223) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpo 
int.java:1517) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoin 
t.java:1474) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskTh 
read.java:61) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: solr.extraction.ExtractingRequestHa 
ndler 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.net.FactoryURLClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader. 
java:476) 
     ... 27 more 
</str><int name="code">500</int></lst> 
</response> 

ли я пропустить что-нибудь?

+0

страница ExtractingRequestHandler выглядит довольно подробный и всеобъемлющий ко мне. Не могли бы вы поступить? Что не получилось, когда вы последовали за ним? – Gagravarr

+0

@Gagravarr - Я новичок в solr. Я обновил свой вопрос. Пожалуйста, просмотрите и, пожалуйста, предоставьте свои комментарии. –

ответ

0

, глядя на ошибку, кажется, что apache-solr-cell jar и его зависимости отсутствуют в библиотеке извлечения в библиотеке Solr.

<lib dir="../../dist/" regex="apache-solr-cell-\d.*\.jar" /> 
<lib dir="../../contrib/extraction/lib" /> 

добавить эти файлы ...

+0

Я пропустил эти файлы. Но у меня есть один вопрос об этих путях. Что такое значение пути «C: \ tomcat-solr \ contrib \ extract \ lib» и путь «C: \ tomcat-solr \ dist» в терминах solr? –

+0

Эти банки для использования. для получения дополнительной информации проверьте https://cwiki.apache.org/confluence/display/solr/Uploading+Data+with+Solr+Cell+using+Apache+Tika –

+0

Кстати, если ответ помог решить проблему, пожалуйста, примите это или проголосовате это :) –

Смежные вопросы