繁体   English   中英

是Lucene +经典查询搜索语法与使用AND相同

[英]is Lucene + classic query search syntax same as using AND

表单的Lucene查询

field1:+"term1" field2:+"term2"

似乎相当于

field1:"term1" OR field2:"term2"

我希望它等同于

field1:"term1" AND field2:"term2"

(即我的数据库查询1和2的特定查询返回10条记录,而查询3返回6条记录,我希望查询2只返回6条记录)

林意识到,如果没有ORAND则默认为OR,但我认为,+意味着词有相匹配,否则什么是+什么是我的误解呢?

对我来说,那个查询看起来并不等同于其中任何一个。

field1:+"term1" field2:+"term2"

只是无效的语法,标准的QueryParser会为它发出一个ParseException (也许你的代码是静默吞噬异常的东西?)。

它应该是:

+field1:"term1" +field2:"term2"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM