【问题标题】:Basic UIMA with SOLR带有 SOLR 的基本 UIMA
【发布时间】:2012-04-10 12:25:06
【问题描述】:

我正在尝试将 UIMA 与 Solr 连接。我已经下载了 Solr 3.5 dist,并在 Windows 7 上使用 solrcell 和 curl 通过 cygwin 成功运行了 nutch 和 tika。 首先,我将 6 个罐子从 solr/contrib/uima/lib 复制到 solr 中的工作 /lib。 接下来,我阅读了solr/contrib/uima/lib 中的 readme.txt 文件并编辑了我的 solrconfig.xmlschema.xml 均无济于事。 然后我发现这个链接似乎更适用,因为我不想使用 Alchemy 或 OpenCalais:http://code.google.com/a/apache-extras.org/p/rondhuit-uima/?redir =1 仍然 - 当我运行通过 solrcell 导入 pdf 的 curl 命令时,我没有得到额外的 UIMA 字段,也没有在我的日志中得到任何内容。虽然对 test.pdf 进行了解析,但我在 Solr 中看到 pdf 使用:

curl 'http://localhost:8080/solr/update/extract?fmap.content=content&literal.id=doc1&commit=true' -F "file=@test.pdf"

SolrConfig.XML

<updateRequestProcessorChain name="uima">
  <processor class="org.apache.solr.uima.processor.UIMAUpdateRequestProcessorFactory">
    <lst name="uimaConfig">
      <lst name="runtimeParameters">
        <str name="host">http://localhost</str>
        <str name="port">8080</str>
      </lst>
      <str name="analysisEngine">C:\uima\desc\com\rondhuit\uima\desc\NextAnnotatorDescriptor.xml</str>
      <bool name="ignoreErrors">true</bool>
      <str name="logField">id</str>
      <lst name="analyzeFields">
        <bool name="merge">false</bool>
        <arr name="fields">
          <str>content</str>
        </arr>
      </lst>
      <lst name="fieldMappings">
        <lst name="type">
          <str name="name">com.rondhuit.uima.next.NamedEntity</str>
          <lst name="mapping">
            <str name="feature">entity</str>
            <str name="fieldNameFeature">uname</str>
            <str name="dynamicField">*_sm</str>
          </lst>
        </lst>
      </lst>
    </lst>
  </processor>
  <processor class="solr.LogUpdateProcessorFactory" />
  <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

<requestHandler name="/update/uima" class="solr.XmlUpdateRequestHandler">
  <lst name="defaults">
    <str name="update.chain">uima</str>
  </lst>
</requestHandler>

我还调整了我的 requestHander:

<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
    <lst name="defaults">
      <str name="update.processor">uima</str>
    </lst>
  </requestHandler>

Schema.XML

<!-- fields for UIMA -->
<field name="uname" type="string" indexed="true" stored="true" multiValued="true" required="false"/>
<dynamicField name="*_sm"  type="string"  indexed="true"  stored="true"/>

我想要做的只是让 UIMA 从文本中提取名称(只是作为演示开始)并且无法弄清楚我做错了什么。 提前感谢您阅读本文。

【问题讨论】:

  • 感谢 javanna,我学到了一些新东西...
  • 为了将来参考,link 到 solr 邮件列表上的同一个帖子。
  • 你每天都在教我一些新东西,谢谢你javanna!从现在开始我会这样做。
  • 太棒了!我相信 Tommaso 会帮助您,也许您可​​以发布最终解决方案作为您自己的答案。谢谢!

标签: solr lucene uima


【解决方案1】:

不确定这是否得到解决,但万一其他人正在寻找,我昨天也遇到了同样的问题。发现我正在调用 /update/extract 来使用 solrcell,它不使用 uima,因为它已集成到 /update 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多