gpt4 book ai didi

java - 使用 Lucene 在一个句子中搜索一个短语和一个单词

转载 作者:行者123 更新时间:2023-12-02 11:48:23 25 4
gpt4 key购买 nike

我正在开发一个程序,该程序将使用 Apache Lucene 搜索句子中的两个关键字。例如

keyword1 = "青苹果";关键字2 =“橙色”;两个关键字都必须出现在句子中。

但是,到目前为止我可以搜索“orange”和“apple”,但不能搜索短语和单词的组合。句子和我的查询如下:

"Sentences: An apple is red. A Green Apple is good. I like Green apple and orange."

我想搜索两个关键字都存在的句子。

    String keyword1 = "Green Apple";
String keyword2 = "Orange";
QueryParser queryParser = new QueryParser(Version.LUCENE_36, "contents",
new StandardAnalyzer(Version.LUCENE_36));
Query query = queryParser.parse("" + keyword1+ " AND" + " " + keyword2);

使用此查询我无法找到该句子。但是,对于 keyword1 = Apple;keyword2 = Orange; 查询工作正常。

最佳答案

您只需要用引号将这些“关键字”(正如您所说的那样)括起来,以便 Lucene 可以使用它们构建短语查询。如果解析器找到空格,它只会使用默认运算符(默认为 OR)。

所以代码应该是:

Query query = queryParser.parse("\"" + keyword1 + "\" AND" + "\"" + keyword2 + "\"");

关于java - 使用 Lucene 在一个句子中搜索一个短语和一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051989/

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