1

我有一个有趣的问题。我有一些带有代码字段的数据,其中包含一些标识符(大部分),格式如下:E.123/2012。

我为此代码字段设置了 fieldType:

<fieldType name="text_split" class="solr.TextField" positionIncrementGap="100">
<analyzer>
    <tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" splitOnNumerics="1" preserveOriginal="1" />
<filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldType>

如果我搜索确切的代码(“E.123/2012.”),我会得到预期的结果。如果我搜索“123 2012”,我也会得到预期的结果。如果我搜索“123/2012”字符串,结果集为空。在启用 catenateNumbers 和 catenateWords 的情况下进行了尝试,结果相同。我在这里缺少什么?

这里有趣的是,使用字段分析工具,如果我选择“突出显示匹配”选项,123/2012 会给出匹配。但是,当我尝试在 Solr 管理员的查询调试工具中使用它时,相同的查询不会产生任何结果。如果我使用通配符搜索,则该查询有效,但我想避免这种情况。

Ps.:我错过了一些细节。我在 Ubuntu Linux 上使用 Solr 3.5 版。并且错误日志为空,没有记录异常。

4

0 回答 0