lucene.net を使用して、それぞれサイズが 1 MB の約 300 のドキュメントで lucene インデックスを作成しました。今、検索手法を実行しています。検索チームへの入力は、1 MB サイズのテキスト ファイルを開き、すべてのテキストを読み取り、入力として与えることです。私のコード
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;
}
}
さて、私の質問は、上記の検索クエリは、テキスト ファイル全体としての入力を使用して、必要な検索の種類に対して実行可能ですか? ファイルが大きいと検索に時間がかかるため
ありがとう