如何查询分析int值

时间:2012-09-07 20:14:37

标签: solr lucene schema

我在SOLR / Lucen中有一个整数值 当我在其中搜索值时,人们可能会在查询中添加前缀: 该字段是ID。因此,对于id = 900的项目,人们可能搜索“900”或“it900”或“it-900”因为这是我们表示项目的方式(categort +' - '+ id)。

现在,我在代码中删除了所有非数字字符。从逻辑上看,在SOLR模式中应该有一种简单的方法来实现这一点。

我尝试为整数字段定义查询分析器。但是,Lucen不喜欢INT领域的分析器 错误讯息:

FieldType: TrieIntField (int) does not support specifying an analyzer

该字段是(分析器不工作,如上所述)

        <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0">
            <analyzer type="query">
                <tokenizer class="solr.WhitespaceTokenizerFactory"/>
                <filter class="solr.PatternReplaceFilterFactory" pattern="(\d+)" replacement="$1" />
            </analyzer> 
        </fieldType>

知道我如何定义这个吗?

1 个答案:

答案 0 :(得分:0)

您可以在(比方说)文本字段上指定过滤器,然后将该字符串字段的内容复制到int字段吗?这似乎是处理它的最简单方法。

相关问题