我想实现一个按字母顺序排列的范围在Solr 3.3中执行查询。 用户想要获取以(例如)A到G开头的餐厅列表。尝试使用“frange”功能,但它包含每个包含该字母的字段。我想用特定的字母来找到名称为START的餐馆。Solr字符范围查询
是这样的: “离A到G的所有餐馆”:(A *和G *),但不(一个和克)。
谢谢
我想实现一个按字母顺序排列的范围在Solr 3.3中执行查询。 用户想要获取以(例如)A到G开头的餐厅列表。尝试使用“frange”功能,但它包含每个包含该字母的字段。我想用特定的字母来找到名称为START的餐馆。Solr字符范围查询
是这样的: “离A到G的所有餐馆”:(A *和G *),但不(一个和克)。
谢谢
使用name:[a TO h]
其中name
字段未被标记。如果需要,为此创建一个单独的副本。
如果试图在此标记化领域,那么它会匹配其含有开始这些字母一个一个字的所有名称。另外,您需要“增加”范围的最后一个字母。如果是z
,则将其替换为*
。例如,如果用户正在查找w
至z
,则查询应为name:[w TO *]
。
您试过name:[a TO g]
?
我很确定这不会做OP的要求。 – 2012-01-16 23:52:02
是的,我试过了,但它没有检索到以这些字母开头的结果。相反,它会匹配包含这些字母的每个“名称” – mafelstroh 2012-01-17 01:28:13