带SOLR的基本UIMA
我正在尝试连接UIMA和Solr。我已经下载了Solr3.5 dist,并通过cygwin在Windows7上使用solrcell和curl成功运行了nutch和tika。 首先,我将6个jar从带SOLR的基本UIMA,solr,lucene,uima,Solr,Lucene,Uima,我正在尝试连接UIMA和Solr。我已经下载了Solr3.5 dist,并通过cygwin在Windows7上使用solrcell和curl成功运行了nutch和tika。 首先,我将6个jar从solr/contrib/uima/lib复制到solr中的工作/lib。 接下来,我在solr/contrib/uima/lib中读取readme.txt文件,并编辑了我的solrconfig.xml和schema.xml,但都没有用。 然后我发现这个链接似乎更适用,因为我不喜欢使用炼金术或OpenC
solr/contrib/uima/lib
复制到solr中的工作/lib
。
接下来,我在solr/contrib/uima/lib
中读取readme.txt文件,并编辑了我的solrconfig.xml和schema.xml,但都没有用。
然后我发现这个链接似乎更适用,因为我不喜欢使用炼金术或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>
http://localhost
8080
C:\uima\desc\com\rondhuit\uima\desc\nextanotatordescriptor.xml
真的
身份证件
假的
内容
com.rondhuit.uima.next.NamedEntity
实体
uname
*_山猫
尤马
我还调整了我的请求者:
<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从文本中提取名称(只是作为一个演示开始),但无法找出我做错了什么。
提前感谢您阅读此文。不确定此问题是否得到解决,但万一有人在看,我昨天也遇到了同样的问题。我发现我调用/update/extract是为了使用solrcell,它不使用uima,因为它集成到/update中 谢谢javanna,我学到了一些新的东西…供将来参考,参考solr邮件列表上的同一篇文章。你每天都在教我一些新的东西,谢谢javanna!从现在起我会这么做的。太好了!我相信Tommaso会帮助你,也许你可以把最终的解决方案作为你自己的答案发布。谢谢