Lucene:如何分配和/或搜索

Lucene:如何分配和/或搜索,lucene,Lucene,我想同时搜索两个查询,例如“macbook pro”和“iphone”,搜索的默认字段是“title”,因此查询是:(title:macbook pro title:iphone)。我希望在每个查询中使用“and”操作,例如(+title:macbook+title:pro),在查询之间使用“or”操作,例如 ((+标题:macbook+标题:pro)(标题:iphone))。但是,在使用QueryParser解析这个查询(title:macbook pro title:iphone)之后,结果

我想同时搜索两个查询,例如“macbook pro”和“iphone”,搜索的默认字段是“title”,因此查询是:(title:macbook pro title:iphone)。我希望在每个查询中使用“and”操作,例如(+title:macbook+title:pro),在查询之间使用“or”操作,例如

((+标题:macbook+标题:pro)(标题:iphone))。但是,在使用QueryParser解析这个查询(title:macbook pro title:iphone)之后,结果将是:(title:macbook title:pro title:iphone),如果我将解析器的默认操作符设置为QueryParser.AND_操作符,那么查询将是(+title:macbook+title:pro+title:iphone)。我也不需要。我该怎么做才能得到正确的查询?((+title:macbook+title:pro)(title:iphone))

使用QueryParser参数无法实现这一点,但可以使用in-Lucene API以编程方式构造查询

类似问题:

使用QueryParser参数无法实现这一点,但可以使用Lucene API以编程方式构造查询

类似问题: “((+标题:macbook+标题:pro)(标题:iphone))”有什么问题?“(+标题:macbook+标题:pro)(标题:iphone))”有什么问题?