gpt4 book ai didi

search - 如何在 Lucene 中执行通配符搜索

转载 作者:行者123 更新时间:2023-12-02 04:34:32 25 4
gpt4 key购买 nike

我知道 Lucene 广泛支持通配符搜索,并且我知道您可以搜索以下内容:

Stackover*(将返回Stackoverflow)

也就是说,我的用户对学习查询语法不感兴趣。 Lucene 可以使用开箱即用的分析器执行这种类型的通配符搜索吗?或者我应该在每个搜索查询后附加“*”?

最佳答案

通过字符串操作来完成此操作很难正确,特别是因为 QueryParser 支持增强、短语等。

您可以使用 QueryVisitor 将 TermQuery 重写为 PrefixQuery。

public class PrefixRewriter : QueryVisitor {
protected override Query VisitTermQuery(TermQuery query) {
var term = query.GetTerm();
var newQuery = new PrefixQuery(term);
return CopyBoost(query, newQuery);
}
}

QueryVisitor 基类当前可以在 gitlab 找到.

该代码最初发布在blog post上现在已经不存在了。博文依然是available at archive.org .

关于search - 如何在 Lucene 中执行通配符搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746809/

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