Uhhh... UIMA... and parameter checking... NOT. You're probably missing
something, but there is so much stuff.
I have some examples in my e-book that show various errors you can get for
missing/incorrect parameters for UIMA:
http://www.lulu.com/us/en/shop/jack-krupansky/solr-4x-deep-dive-early-access-release-7/ebook/product-21203548.html
I never actually connected to a UIMA service, but at least got through the
parameter stuff.
-- Jack Krupansky
-----Original Message-----
From: mkhordad
Sent: Friday, August 22, 2014 9:21 PM
To: solr-user@lucene.apache.org
Subject: Integrating DictionaryAnnotator and Solr
Hi,
I am trying to integrate DictionaryAnnotator of UIMA to Solr 4.9.0 to find
gene names from a dictionary. So I made the following changes.
1. I Modified OverridingParamsExtServicesAE.xml file as follow:
<delegateAnalysisEngineSpecifiers>:
...
<delegateAnalysisEngine key="DictionaryAnnotator">
<import name="DictionaryAnnotator"/>
</delegateAnalysisEngine>
...
</delegateAnalysisEngineSpecifiers>:
2. Modified the <flowConstraints> sections for adding DictionaryAnnotator
node:
<fixedFlow>
<node>AggregateSentenceAE</node>
<node>OpenCalaisAnnotator</node>
<node>TextKeywordExtractionAEDescriptor</node>
<node>TextLanguageDetectionAEDescriptor</node>
<node>TextCategorizationAEDescriptor</node>
<node>TextConceptTaggingAEDescriptor</node>
<node>TextRankedEntityExtractionAEDescriptor</node>
<node>DictionaryAnnotator</node>
</fixedFlow>
3. Added org/apache/uima/desc/DictionaryAnnotator.xml
DictionaryAnnotator.xml
4. Added my dictionary to org/apache/uima/desc/dictionary.xml
5.- Generated the file apache-solr-uima-4.9.jar
6. Added Gene to schema.xml.
7.Added the following lines in solrconfig.xml:
<lib dir="../../../contrib/uima/lib" />
<lib dir="../../dist/" regex="solr-uima-\d.*\.jar" />
<lib dir="Path-to/apache-uima/lib" />
<uimaConfig>
<analysisEngine>DictionaryAnnotator</analysisEngine>
<fieldMapping>
<type name="org.apache.uima.DictionaryEntry">
<map feature="gene" field="gene"/>
</type>
</fieldMapping>
</uimaConfig>
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
<lst name="defaults">
<str name="update.processor">uima</str>
</lst>
<updateRequestProcessorChain name="uima" default="true">
<processor
class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
<lst name="uimaConfig">
<str name="analysisEngine">DictionaryAnnotator</str>
<bool name="ignoreErrors">false</bool>
<lst name="analyzeFields">
<bool name="merge">false</bool>
<arr name="fields">
<str>text</str>
</arr>
</lst>
<lst name="fieldMappings">
<lst name="type">
<str name="name">org.apache.uima.DictionaryEntry</str>
<lst name="mapping">
<str name="feature">gene</str>
<str name="field">gene</str>
</lst>
</lst>
</lst>
</lst>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
But I get the following error message when I am truing to import my
documents:
3639 [qtp1023134153-14] ERROR org.apache.solr.core.SolrCore –
java.lang.NullPointerException
at
org.apache.solr.uima.processor.SolrUIMAConfigurationReader.readAEOverridingParameters(SolrUIMAConfigurationReader.java:101)
at
org.apache.solr.uima.processor.SolrUIMAConfigurationReader.readSolrUIMAConfiguration(SolrUIMAConfigurationReader.java:42)
at
org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory.getInstance(UIMAUpdateRequestProcessorFactory.java:53)
at
org.apache.solr.update.processor.UpdateRequestProcessorChain.createProcessor(UpdateRequestProcessorChain.java:204)
at
org.apache.solr.handler.dataimport.DataImportHandler.handleRequestBody(DataImportHandler.java:178)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1962)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:777)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:418)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368)
at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at
org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:953)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1014)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:861)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:745)
--
View this message in context:
http://lucene.472066.n3.nabble.com/Integrating-DictionaryAnnotator-and-Solr-tp4154627.html
Sent from the Solr - User mailing list archive at Nabble.com.