2012-03-27 51 views
3

我正在嘗試將UIMA與Solr連接起來。我已經下載了Solr 3.5 dist,並使用solrcell和curgwin通過cygwin成功運行了windows 7上的nutch和tika。 首先,我將6個罐子從solr/contrib/uima/lib複製到工作/lib solr。 接下來,我在solr/contrib/uima/lib閱讀的readme.txt文件和編輯我solrconfig.xml中schema.xml中都無濟於事。 然後我發現這個鏈接似乎更適用,因爲我不在乎使用Alchemy或OpenCalais:http://code.google.com/a/apache-extras.org/p/rondhuit-uima/?redir= 1 Still-當我運行一個curl命令,通過solrcell導入pdf時,我沒有獲得額外的UIMA字段,也沒有在我的日誌中獲得任何東西。中的test.pdf是,雖然解析和使用我看到Solr中的PDF格式:使用SOLR的基本UIMA

curl 'http://localhost:8080/solr/update/extract?fmap.content=content&literal.id=doc1&commit=true' -F "[email protected]" 

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"/> 

全部I我試圖做的是讓UIMA從文本中拉出名字(只是作爲一個演示開始),並且無法弄清楚我做錯了什麼。 預先感謝您閱讀本文。

+0

謝謝javanna,我學到了一些新東西... – Chris 2012-03-27 13:27:59

+1

爲了將來的參考,[鏈接](http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201203.mbox/%3C1332899823598-3863324 .post @ n3.nabble.com%3E)到solr郵件列表中的同一篇文章。 – javanna 2012-03-28 13:02:13

+0

你每天都在教新的東西,謝謝你javanna!我從現在開始做這件事。 – Chris 2012-03-28 13:09:18

回答

1

不知道這是否得到解決,但如果別人正在尋找,我昨天也有這個問題。發現我正在調用/ update/extract來使用solrcell,它不使用uima,因爲它已經集成到/ update中。