Voir l'article 59 de l'article 59 de l'article "本建立了索引", http://www.cnblogs.com/abob/archive/2006/08/26/487140.html
1 : 搜索关键字 utilisant System ;
en utilisant System.Collections.Generic ;
en utilisant System.Text ;
en utilisant System.IO ;
en utilisant Lucene.Net.Analysis ;
en utilisant Lucene.Net.Documents ;
en utilisant Lucene.Net.Index ;
en utilisant Lucene.Net.QueryParsers ;
en utilisant Lucene.Net.Search ;
en utilisant Lucene.Net.Analysis.Cn ;
espace de noms SearchTest
{
classe SearchTest
{
chercheur privé IndexSearcher = null ;
analyseur privé analyseur = null ;
Test de recherche public()
{
analyseur = new ChineseAnalyzer();
searcher = new IndexSearcher(IndexReader.Open("c:\index"));
}
Recherche de résultats publics (String queryString, champ de chaîne)
{
si (chercheur != null)
{
essayer
{
Analyseur QueryParser = new QueryParser(champ,analyseur);
parser.SetOperator(QueryParser.DEFAULT_OPERATOR_AND);
Requête de requête = parser.Parse(queryString);
return searcher.Search(requête);
}
attraper { }
}
renvoie null ;
}
static void Main(string[] arguments)
{
SearchTest chercheur = new SearchTest();
DateTime start = DateTime.Now ;
Clics h = searcher.search("中国", "content");
DateTime fin = DateTime.Now ;
long time = end.Ticks - start.Ticks ;
Console.WriteLine("Convertir.ToString(time));
Console.WriteLine("总共找到{0}个文件",h.Length());
}
}
}
由于搜索是一种注重效率的行为,因此将其构建成一个轻量级的对象能节省不少内存和时间Il s'agit d'un outil de recherche, d'un outil de recherche d'IndexSearcher et d'un moteur de recherche.来检索.
在代码最后的main函数中,输入了关键字"中国",搜索的结果是
总共耗时:1406250毫秒总共找到22个文件请按任意键继续. . .
2 :
utiliser le système ;
en utilisant System.Collections.Generic ;
en utilisant System.Text ;
en utilisant Lucene.Net.Analysis.Cn ;
en utilisant Lucene.Net.Index ;
en utilisant Lucene.Net.QueryParsers ;
en utilisant Lucene.Net.Search ;
en utilisant System.Threading ;
espace de noms MuiltiSearch
{
classe MultiSearch
{
static void Main(string[] arguments)
{
pour (int i = 0; i < 50; i++)
{
SearchThread s = nouveau SearchThread();
Thread thread=nouveau Thread(s.run);
thread.Start();
}
}
}
classe publique SearchThread
{
exécution publique vide()
{
Thread.Sleep(10);
Recherche IndexSearcher = new IndexSearcher(IndexReader.Open("c:\index"));
QueryParser parser = new QueryParser("content", new ChineseAnalyzer());
parser.SetOperator(QueryParser.DEFAULT_OPERATOR_AND);
Requête de requête = parser.Parse("中国");
DateTime start = DateTime.Now ;
Clics h = searcher.Search(query);
DateTime fin = DateTime.Now ;
longtemps = start.Ticks - end.Ticks ;
Console.WriteLine("时{0}毫秒", time);
}
}
}