我对Lucene查询有一般疑问。
我有两个国家和城市的字段。
可以用两种方式构建查询。
构建查询,如国家:(斯里兰卡)和城市:(科伦坡)
或者可以使用布尔查询构造相同的查询,并且可以将它们组合在一起。
这两种方法有什么不同?
答案 0 :(得分:1)
假设你的第一个选择是创建一个查询字符串并将其传递给QueryParser
(如果没有,请更正我),根本没有区别。查询解析器将使BooleanQuery
相同,您可以通过打印其类名来仔细检查。
然而,如果你正在使用Lucene,最好不要考虑布尔逻辑。 Boolean logic makes terrible scores