You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lucene.Net 1.4.3.3用WildcardTermEnum实现自动补全遇空引用异常

Lucene 1.4.3.3 索引读取空引用异常解决

我们需要读取Lucene索引,实现用户输入搜索表达式时列出匹配的索引词条——例如输入“bas”时,展示所有以“bas”开头的索引词条。当前使用的Lucene.dll版本为1.4.3.3,因系统老旧无法升级至新版本。

以下代码运行时,最后一行抛出异常:应用程序中的服务器错误。未将对象引用设置到对象的实例。

Dim index_reader as Lucene.Net.Index.IndexReader
dim test_term as Lucene.Net.index.Term

index_reader.open("C:\inetpub\fulltextindex" )

test_term = new Lucene.Net.index.Term  ("BAT:", "bas*" )

Dim results As  Lucene.Net.Search.WildcardTermEnum
results =  new Lucene.Net.Search.WildcardTermEnum(index_reader, test_term )

但以下索引访问方式可正常工作:

query_text = "BAT:world" ' Request.QueryString("query")
query = Lucene.Net.QueryParsers.Queryparser.Parse(query_text, "contents", analyzer)
hits = searcher.Search(query)
Response.Write(query_text & ": " & hits.Length.ToString())

问题已解决

错误的索引打开方式(无错误提示,但实际未成功打开索引):

index_reader.open("C:\inetpub\fulltextindex" )

正确的索引打开方式,修改后所有功能恢复正常:

index_reader = index_reader.open("C:\inetpub\fulltextindex" )

内容的提问来源于stack exchange,提问作者AndyH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:40:28