未分析字段上的Lucene布尔查询

未分析字段上的Lucene布尔查询,lucene,lucene.net,ravendb,Lucene,Lucene.net,Ravendb,使用RavenDB对Lucene索引进行查询 此查询解析为OK: X:[[a]]和Y:[[b]]和Z:[[c]] 但是,此查询为我提供了一个解析异常: X:[[a]]和Y:[[b]]和Z:[[c]]和P:[[d]] “Lucene.Net.QueryParsers.ParseException:无法分析'(和)':遇到\”“和” 我在复杂的索引和简单的复制案例中尝试了这个方法,同样的结果是,一旦你超过三个,它就会爆炸。我使用[[]]而不进行分析,因为我需要精确匹配(有时值也包含空格等),而从Ra

使用RavenDB对Lucene索引进行查询

此查询解析为OK: X:[[a]]和Y:[[b]]和Z:[[c]]

但是,此查询为我提供了一个解析异常: X:[[a]]和Y:[[b]]和Z:[[c]]和P:[[d]]

“Lucene.Net.QueryParsers.ParseException:无法分析'(和)':遇到\”“和”

我在复杂的索引和简单的复制案例中尝试了这个方法,同样的结果是,一旦你超过三个,它就会爆炸。我使用[[]]而不进行分析,因为我需要精确匹配(有时值也包含空格等),而从RavenDB我几乎无法控制索引


我想知道如何重写查询以避免解析异常?

这看起来很像Lucene的QueryParser中的一个bug,也许可以尝试在用户邮件列表中报告


作为一种旁路,您可以手动创建布尔查询并添加您想要的术语。由于没有对它们进行分析,而且查询看起来也不太复杂,因此最好不要使用查询解析器。

这在最新的RavenDB版本中已得到修复。有关更多信息,请参阅