3

我们从 Solr 3.6 升级到 Solr 4.0。不幸的是,如何通过唯一键从索引中检索文档的行为显然已经改变。

在 Solr 3.6 中,以下查询检索单个文档:

key:conf/socc/AscottS09

但是当使用具有相同文档集合(重新索引)的 Solr 4.0 时,会返回一个空的结果列表。似乎 Solr 4.0 正在处理/分析该术语conf/socc/AscottS09,即使它的类型是solr.StrField. 当用引号括起来的术语时,查询在 Solr 4.0 中按预期工作:

key:"conf/socc/AscottS09"                

架构.xml:

...
<fieldType name="string"  class="solr.StrField" sortMissingLast="true" mitNorms="true"/>
...
<field name="key" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
...

这是一个错误还是 Solr 处理字符串字段的方式有任何变化?

编辑:我在 Solr 4.0 的迁移信息中没有找到任何相关信息

4

1 回答 1

0

https://issues.apache.org/jira/browse/SOLR-4276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13545425#comment-13545425

由于 Solr 4 支持查询中的正则表达式,因此查询中的标记需要转义:

QueryParser.escape("XXXX")

我们正在使用这种方法,但这是在另一个使用 Solr/Lucene 3.6 的组件中完成的。

于 2013-01-06T15:57:18.687 回答