繁体   English   中英

Java中的Lucene(QueryParser)

[英]Lucene(QueryParser) in Java

我通过QueryParser创建查询:

QueryParser parser = new QueryParser(Version.LUCENE_30, "Text", new RussianAnalayzer());
parser.setDefaultOperator(QueryParser.Operator.AND);
Query query = parser.parse(searchString);

当我使用单词具有变体的短语时,我将与“ AND”结合在一起,例如:“ term1 term2”->“ term1 AND“ term2_1 AND term2_2””。 如何在不将字符串拆分为单词的情况下获取类似“ term1 AND“ term2_1 OR term2_2””的查询?

万分谢意。

我不完全确定我了解您。 term2如何拆分为多个术语? 它只是存储在您正在谈论的变量中的术语列表,例如:term1 =“ term1” term2 =“ term2_1 term2_2”查询= term1 +“” + term2;

还是真的只有两个术语被自动拆分(由分析仪之类的东西)?

无论如何,我认为将第二行更改为:

parser.setDefaultOperator(QueryParser.Operator.OR);
//Or just delete this line if you prefer, OR is the default behavior.

并传递对这种行为有意义的查询,例如:

"term1 AND (term2)"

大概等于:

"term1 AND (term2_1 term2_2)"

暂无
暂无

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

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