2014-03-04 94 views
1

是否可以按字段类型'字符串'的范围进行搜索?Apache SOLR和字符串范围搜索

fieldString:[A TO B] 

fieldString:[U-00* TO U-009] 

平均,让结果与所有字符序列A之间到B或 场之间的所有U型000 U-009

现在我得到了一些几场其值为U-001,U-002 ...至U-009

I try: fieldString:[U-00* TO U-009] but this dont work 
fieldString:/U-00[0-9]/ and also the same non results 
+0

真的没人吗? – PDS

回答

0

是的,它是p ossible。但结果可能取决于您如何分析索引中的字符串。如果字符串只是A或B,没有问题;但在某些标记中,您可能会得到包含A或B的所有结果。

schema.xml: 
<types> 
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true" /> 
    ... 
</types> 

<fields> 
    ... 
    <field name="isbn" type="string" indexed="true" stored="true" multiValued="false" /> 
    ... 
</fields> 

solrconfig.xml: 
<requestHandler class="solr.SearchHandler" name="standard"> 
</requestHandler> 

正如您所看到的,没有什么特别的。字符串类型不会被任何过滤器处理,而只是按原样存储。我使用标准查询解析器。在这个配置中你的例子工程

+0

我该如何检查? – PDS

+0

查看schema.xml中有关字段的fieldType。有分析器(标记器,过滤器)定义。可能为了您的关注,您将需要使用纯字符串。 –

+0

PDS