gpt4 book ai didi

java - 使用 MultiFieldQueryParser 时如何在 Lucene 中搜索部分单词?

转载 作者:行者123 更新时间:2023-12-02 10:45:18 25 4
gpt4 key购买 nike

 public SearchResult search(String queryStr, SortBy sortBy, int maxCount)
throws ParseException, IOException {
String[] fields = {Indexer.TITLE_FIELD_NAME, Indexer.REVIEW_FIELD_NAME, "name"};


QueryParser parser = new MultiFieldQueryParser(fields, analyzer);
Query query = parser.parse(queryStr);

Sort sort = null;
if (sortBy != null) {
sort = sortBy.sort;
}

return searchAfter(null, query, sort, maxCount);
}

上面的方法只是给了我结果,但为此我必须搜索整个单词,但如果我搜索部分单词,它就不起作用。

最佳答案

默认情况下,MultiFieldQueryParser(以及该类继承的QueryParser)将查找您正在搜索的整个单词,但它也可以生成通配符查询。单词“elephant”可以使用 elep*elep?ant(即 ? 计算单个字母)或 ele*nt 进行匹配。您还可以使用模糊查询,例如 elechant~

您可以在此处阅读完整的语法规范:http://lucene.apache.org/core/7_5_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html (在类(class)列表下方)。

关于java - 使用 MultiFieldQueryParser 时如何在 Lucene 中搜索部分单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52628442/

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