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.

Reply via email to