2012-01-16 92 views
0

我想实现一个按字母顺序排列的范围在Solr 3.3中执行查询。 用户想要获取以(例如)A到G开头的餐厅列表。尝试使用“frange”功能,但它包含每个包含该字母的字段。我想用特定的字母来找到名称为START的餐馆。Solr字符范围查询

是这样的: “离A到G的所有餐馆”:(A *和G *),但不(一个)。

谢谢

回答

2

使用name:[a TO h]其中name字段未被标记。如果需要,为此创建一个单独的副本。

如果试图在此标记化领域,那么它会匹配其含有开始这些字母一个一个字的所有名称。另外,您需要“增加”范围的最后一个字母。如果是z,则将其替换为*。例如,如果用户正在查找wz,则查询应为name:[w TO *]

0

您试过name:[a TO g]

+0

我很确定这不会做OP的要求。 – 2012-01-16 23:52:02

+0

是的,我试过了,但它没有检索到以这些字母开头的结果。相反,它会匹配包含这些字母的每个“名称” – mafelstroh 2012-01-17 01:28:13