gpt4 book ai didi

c# - 如何在 Lucene.NET 中进行部分词搜索?

转载 作者:太空狗 更新时间:2023-10-29 17:41:09 26 4
gpt4 key购买 nike

我有一个相对较小的索引,其中包含大约 4,000 个位置。除其他外,我用它来填充搜索表单上的自动完成字段。

我的索引包含具有 Location 字段的文档,该字段包含类似

的值
  • 俄亥俄州
  • 俄亥俄州代顿
  • 俄亥俄州都柏林
  • 俄亥俄州哥伦布

我希望能够输入“ohi”并显示所有这些结果,但现在在我输入完整的单词“ohio”之前不会显示任何内容。

我正在使用 Lucene.NET v2.3.2.1,我的代码的相关部分如下用于设置我的查询....

BooleanQuery keywords = new BooleanQuery();
QueryParser parser = new QueryParser("location", new StandardAnalyzer());
parser.SetAllowLeadingWildcard(true);
keywords.Add(parser.Parse("\"*" + location + "*\""), BooleanClause.Occur.SHOULD);
luceneQuery.Add(keywords, BooleanClause.Occur.MUST);

简而言之,我想让它像 LIKE 子句一样工作,类似于

SELECT * from Location where Name LIKE '%ohi%'

我可以用 Lucene 做到这一点吗?

最佳答案

试试这个查询:

parser.Parse(query.Keywords.ToLower() + "*")

关于c# - 如何在 Lucene.NET 中进行部分词搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844752/

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