无法在Solr 4.0中使用langid

时间:2012-07-26 09:19:52

标签: solr

我刚刚安装了Solr,现在我正在尝试学习如何使用它。我想使用Solr Celllangid功能,因此我按照链接的教程进行操作。 Solr Cell有效,但我无法做任何事情。

solrconfig.xml中,我有这个:

<updateRequestProcessorChain name="langid">
  <processor class="org.apache.solr.update.processor.LangDetectLanguageIdentifierUpdateProcessorFactory">
    <str name="langid.fl">text,title,subject,description</str>
    <str name="langid.langField">language_s</str>
    <str name="langid.fallback">en</str>
    <bool name="langid.map">true</bool>
  </processor>
  <processor class="solr.LogUpdateProcessorFactory" />
  <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

(我也尝试过Tika),我使用

发送文件
curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true" -F "myfile=@test.xml"

但是当我查询时,text:[* TO *]会将我的文件退回给我,但text_en:[* TO *]却没有; language_s,即使我宣布存储,也是顽固地缺席; *:word即使有"words"也找不到任何内容,因此它不会被阻止;我在日志中找不到任何东西。我最好的猜测是,langid没有运行,我不明白为什么。

编辑:找到答案:read more docs:p

由于langid被配置为更新请求处理器链,因此需要选择它(它不是自动的)。所以,这有效:

curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true&update.chain=langid" -F "myfile=@test.xml"

1 个答案:

答案 0 :(得分:0)

找到答案:read more docs:p

由于langid被配置为更新请求处理器链,因此需要选择它(它不是自动的)。所以,这有效:

curl "http://localhost:8983/solr/update/extract?literal.id=test&commit=true&update.chain=langid" -F "myfile=@test.xml"