2015-12-08 4 views
0

Я работаю над интеграцией Apache UIMA + Apache Solr. Сначала я интегрировал Apache UIMA с eclipse. Я реализовал аннотатор слов NOUN в eclipse и использовал несколько примеров.Apache UIMA + Apache Solr Интеграция для именного аннотатора фразы

Он работал нормально и давал точный результат путем поиска существительных в предложении.

Теперь я пытаюсь реализовать UIMA с Solr. Я последовал за ссылку на тот же:

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

Я экспортируемые работает JAR файл проекта Eclipse в Apache Solr каталог Lib и включены другие необходимые банку файлы.

Вот мои 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 экземпляр. Но когда я выполняю запрос, существительные не входят в поле uimanounfrase. В этом поле отображаются нулевые значения.

ответ

0

Сначала вы должны сгенерировать файл PEAR и установить его. Как только вы это сделаете, вы можете добавить AE.xml в свой конфигурационный файл solr, чтобы он работал.

Шаг 1: Создайте файл PEAR из вашей реализации аннотатора. Вы можете использовать Eclipse для этого, если у вас есть UIMA-плагин для Eclipse.

Шаг 2: Установите файл PEAR. Вы можете использовать скрипты, предоставленные в пакете apache-uima (runPearInstaller.bat). Вы также можете проверить, работает ли ваш файл груши, запустив cvd.bat.

Шаг 3: Создание XML-файл аннотатор двигателя (например: OpenNLP_AE.xml), который вы можете интегрировать с solrconfig.xml

Ссылки: https://uima.apache.org/doc-uima-pears.html. Эта ссылка содержит указатели на то, как вы можете выполнить вышеизложенное.

Надеюсь, это поможет.