gpt4 book ai didi

c# - 如何从 Lucene.Net 的索引文件中读取行

转载 作者:行者123 更新时间:2023-11-30 15:04:38 25 4
gpt4 key购买 nike

我使用的是 Lunece.net 2.0.5 版本。我想在 ASP.NET Web 应用程序中以网格(表格)格式打开并显示索引文件中的所有记录,并为该网格中的每个单元格提供编辑选项。但我不知道如何从索引文件中读取每一行。

我使用了下面的代码-

   private List<String> GetIndexTerms(string indexFolder)
{
List<String> termlist = new List<string>();
IndexReader reader = IndexReader.Open(indexFolder, false);
TermEnum terms = reader.Terms();
while (terms.Next())
{
Term term = terms.Term();
String termText = term.Text();
int frequency = reader.DocFreq(term);
termlist.Add(termText);
}
reader.Close();
return termlist;
}

但它返回每个术语的列表,在这里我无法按每一行(记录)汇总数据。

如果有办法按行读取文件,或者我需要更新当前使用的 Lucene 版本,请告诉我。

另外,请提供任何指向 Lucene.net 更好的文档网站的链接。

最佳答案

您可以直接从索引中读取所有记录/行(Lucene 术语中的 document),而无需搜索

var reader =  IndexReader.Open(dir);
for (int i = 0; i < reader.MaxDoc(); i++)
{
if (reader.IsDeleted(i)) continue;

Document d = reader.Document(i);
var fieldValuePairs = d.GetFields()
.Select(f => new {
Name = f.Name(),
Value = f.StringValue() })
.ToArray();
}

PS:v2.0.5 已经很老了。尝试最新最好的 Lucene.Net

关于c# - 如何从 Lucene.Net 的索引文件中读取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996352/

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