【问题标题】:Apache UIMA + Apache Solr Integration for Noun Phrase annotator用于名词短语注释器的 Apache UIMA + Apache Solr 集成
【发布时间】:2016-01-08 17:29:43
【问题描述】:

我正在研究 Apache UIMA + Apache Solr 集成。首先,我将 Apache UIMA 与 eclipse 集成在一起。我已经在 Eclipse 中实现了名词短语注释器并运行了一些示例。

通过在句子中查找名词,它工作正常并给出准确的结果。

现在我正在尝试使用 Solr 实现 UIMA。我按照以下链接进行了相同的操作:

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

我已经在 apache solr lib 目录中导出了 eclipse 项目的工作 JAR 文件,并包含了其他必要的 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 实例。但是当我执行查询时,名词不会出现在 uimanounphrase 字段中。 Null 值显示在该字段中。

【问题讨论】:

    标签: apache solr lucene uima


    【解决方案1】:

    您必须先生成 PEAR 文件并安装它。完成此操作后,您可以将 AE.xml 添加到您的 solr 配置中以使其工作。

    第 1 步:从您的注释器实现生成 PEAR 文件。如果你有 Eclipse 的 UIMA 插件,你可以使用 Eclipse 来做到这一点。

    第二步:安装 PEAR 文件。您可以使用 apache-uima 包 (runPearInstaller.bat) 中提供的脚本。您还可以通过运行 cvd.bat 来测试您的 pear 文件是否正常工作。

    步骤 3:创建一个注释器引擎 xml 文件(例如:OpenNLP_AE.xml),您可以将其与 solrconfig.xml 集成

    参考:https://uima.apache.org/doc-uima-pears.html。此链接包含有关如何执行上述操作的指示。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多