Lucene搜索,其中字段必须以某些字母开头

Lucene搜索,其中字段必须以某些字母开头,lucene,solr,Lucene,Solr,我正在尝试搜索范围内的结果,例如a到C。但是,结果中包含范围内的字母,但我只希望结果以范围内的字母开头 最简单的方法——在索引期间,创建另一个仅包含第一个字母的字段。因此,如果该字段当前包含: Alpha Beta Charlie 然后在单独的字段中对此进行索引(未分析): 然后像往常一样使用范围查询 myFieldFirstLetter:[A TO C] 我最终使用了Solr1.4可用的QParser插件提供的frange {!frange l=A u=C}fieldname 我是从中获

我正在尝试搜索范围内的结果,例如a到C。但是,结果中包含范围内的字母,但我只希望结果以范围内的字母开头

最简单的方法——在索引期间,创建另一个仅包含第一个字母的字段。因此,如果该字段当前包含:

Alpha
Beta
Charlie
然后在单独的字段中对此进行索引(未分析):

然后像往常一样使用范围查询

myFieldFirstLetter:[A TO C]

我最终使用了Solr1.4可用的QParser插件提供的frange

{!frange l=A u=C}fieldname

我是从

中获得信息的,RangeQuery的查询语法是[A到C]。在这种特殊情况下,您应该收到以A、B开头的所有结果以及仅包含一个字母C的术语。或者,您可以尝试A*或B*或C*query@Akeem:请不要更改整个问题,使现有答案无效。相反,创建一个新的问题。是的,我应该添加一条评论来澄清我编辑问题是为了澄清。抱歉,您能提供样品输出吗?我建议在代码中构建查询对象,而不是在Lucene解析器中,以确保错误不在解析器代码中。
{!frange l=A u=C}fieldname