2015-12-08 64 views
0

我正在開發Apache UIMA + Apache Solr集成。首先我已將Apache UIMA與eclipse集成。我在eclipse中實現了NOUN短語註釋器,並且運行了幾個例子。Apache UIMA + Apache Solr集成名詞短語註釋器

它工作得很好,並通過查找名詞來給出準確的結果。

現在我試圖用Solr實現UIMA。我也跟着下面的鏈接是相同的:

https://wiki.apache.org/solr/SolrUIMA

我已出口工作的Eclipse項目的JAR文件中的Apache Solr實現lib目錄,包括其他必要的jar文件。

這裏是我的solrconfig XML的變化:

  <lib dir="../../../contrib/uima/lib" /> 

      <lib dir="../../../contrib/uima/lucene-libs" /> 

      <lib dir="../../../dist/" regex="solr-uima-\d.*\.jar" />  

      <lib dir="C:\apache-uima\lib" /> 



      <requestHandler name="/update" class="solr.UpdateRequestHandler"> 

          <lst name="defaults"> 

           <str name="update.processor">uima</str> 

          </lst> 

      </requestHandler> 



      <updateRequestProcessorChain name="uima" default="true"> 

       <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory"> 

          <lst name="uimaConfig"> 

           <lst name="runtimeParameters"> 

           </lst> 

           <str name="analysisEngine">/desc/NounPhraseAnnotator.xml</str> 

           <bool name="ignoreErrors">false</bool> 

           <str name="logField">id</str> 

           <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.tutorial.NounPhraseAnnotation</str> 

               <lst name="mapping"> 

                  <str name="feature">nounText</str> 

                  <str name="field">uimanounphrase</str> 

               </lst> 

              </lst> 



           </lst> 

          </lst> 

       </processor> 

       <processor class="solr.LogUpdateProcessorFactory" /> 

       <processor class="solr.RunUpdateProcessorFactory" /> 

      </updateRequestProcessorChain> 

Schema.xml的變化:

  <field name="uimanounphrase" type="string" indexed="true" stored="true" multiValued="true" required="false"/> 

然後我就收錄了一些文件和Solr的運行實例。但是當我執行查詢時,名詞不會進入用戶語言字段。空值顯示在該字段中。

回答

0

您必須首先生成PEAR文件並安裝它。一旦你這樣做了,你可以添加一個AE.xml到你的solr配置來使它工作。

第1步:從您的註釋器實現中生成PEAR文件。如果你有Eclipse的UIMA插件,你可以使用Eclipse來做到這一點。

第二步:安裝PEAR文件。您可以使用apache-uima包中提供的腳本(runPearInstaller.bat)。你也可以通過運行cvd.bat來測試你的pear文件是否工作。

第三步:創建一個註釋引擎xml文件(例如:OpenNLP_AE.xml),你可以用solrconfig.xml中

參考集成:https://uima.apache.org/doc-uima-pears.html。這個鏈接有你如何執行上面的指示。

希望這會有所幫助。