Lucene查询形式
field1:+"term1" field2:+"term2"
似乎等同于
field1:"term1" OR field2:"term2"
我希望它等同于
field1:"term1" AND field2:"term2"
(即对于数据库查询1和2上的特定查询,它返回10条记录,而查询3返回6条记录,我希望查询2仅返回6条记录)
我知道,如果没有 OR 或 AND ,则默认为 OR ,但我认为+表示该术语必须匹配,否则+的意义是什么 我有什么误会?
答案 0 :(得分:2)
对我来说,该查询看起来并不等同于这两个查询。
field1:+"term1" field2:+"term2"
只是语法无效,标准的QueryParser确实为此踢出了ParseException
(也许您的代码无声地吞没了异常?
应该是:
+field1:"term1" +field2:"term2"