我已经使用 lucene.net 创建了一个 lucene 索引,其中大约有 300 个大小为 1mb 的文档现在我正在做我的搜索技术我的搜索输入是我打开一个 1mb 大小的文本文件读取所有文本并作为输入给出这里是我的代码
public void DoClassification(string DocPath, string IndexPath)
{
try
{
if (File.Exists(DocPath))
{
string content = File.ReadAllText(DocPath);
if (content.Trim() != "")
{
IndexSearcher searcher = new IndexSearcher(FSDirectory.Open(new DirectoryInfo(IndexPath)), false);
QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29, "Content", new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29));
BooleanQuery.SetMaxClauseCount(Convert.ToInt32(content.Length) + 500);
Query query = parser.Parse(QueryParser.Escape(content.ToLower()));
TopDocs docs = searcher.Search(query, searcher.GetIndexReader().MaxDoc());
foreach (ScoreDoc DOC in docs.scoreDocs)
{
string Tag = searcher.Doc(DOC.doc).Get("Content");
break;
}
}
}
}
catch (Exception ex)
{
throw;
}
}
现在我的问题是,上面的搜索查询对于我想要输入为整个文本文件的搜索类型是否可行?因为当文件很大时需要时间来搜索
谢谢