首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带SOLR的Basic UIMA

带SOLR的Basic UIMA
EN

Stack Overflow用户
提问于 2012-03-27 00:06:15
回答 1查看 1.8K关注 0票数 3

我想把UIMA和Solr连接起来。我已经下载了Solr 3.5Dist,并使用solrcell和cygwin成功地在windows 7上与nutch和tika一起运行。首先,我将6 jars从solr/contrib/uima/lib复制到solr中的工作/lib中。接下来,我在solr/contrib/uima/lib中读取了solr/contrib/uima/lib文件,并同时编辑了solrconfig.xml和schema.xml,但没有结果。然后,我发现这个链接似乎更适用一些,因为我不介意使用炼金术或OpenCalais:http://code.google.com/a/apache-extras.org/p/rondhuit-uima/?redir=1仍然--当我运行一个curl命令通过solrcell导入一个pdf时,我不会得到额外的UIMA字段,也不会在日志中得到任何内容。不过,test.pdf被解析了,我在Solr中看到了下面的pdf:

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

SolrConfig.XML

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
    <lst name="defaults">
      <str name="update.processor">uima</str>
    </lst>
  </requestHandler>

Schema.XML

代码语言:javascript
复制
<!-- 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从文本中取出名称(只是作为一个演示开始),而不能弄清楚我做错了什么。谢谢你提前阅读这篇文章。

EN

回答 1

Stack Overflow用户

发布于 2013-10-31 14:14:48

我不知道这件事有没有被解决过,但万一有人在找我,我昨天也遇到了同样的问题。我知道我在调用/更新/提取来使用solrcell,它不使用uima,因为它是集成到/update中的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9881627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档