gpt4 book ai didi

java - Java 中的 Lucene(QueryParser)

转载 作者:行者123 更新时间:2023-11-29 09:09:11 25 4
gpt4 key购买 nike

我通过 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如何拆分成多个term?它只是存储在您正在谈论的变量中的术语列表,例如: term1 = "term1" term2 = "term2_1 term2_2" query = 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)"

关于java - Java 中的 Lucene(QueryParser),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com