Lucene.net搜索速度为什么老提不上来?求助!
最近用Lucene.net的最新版本,具体是这样的:1000W数据,64G大小,分盘储存,然后合并搜索,standar分词,三个域,其中内容域为网页爬虫采集的HTML(去掉了标签)所以索引文件略大。现在搜索标题保持在1S以内,但是初次搜索速度略慢。重要的是内容更慢,第一次搜索会超过十秒以上,而后都是超过3秒以上,很蛋疼啊。
求各位大大的优化建议..
搜索部分代码如下:
public void Search2(string queryStr, string type)lucene
{
pagesize = 168;
currentpage =1;
Analyzer analyzer=new StandarAnalyzer(Lucene.Net.Util.Version.LUCENE_CURRENT);
Searcher instantce = new ParallelMultiSearcher(SearcherClass.MuiltiSearcher());//多个索引文件夹
QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_CURRENT, type, analyzer);
Query query = parser.Parse(queryStr);
TopDocs a = instantce.Search(query, currentpage * pagesize);
ScoreDoc[] hits = a.ScoreDocs;
int total = a.TotalHits;
dt.Columns.Add("id");
dt.Columns.Add("title");
dt.Columns.Add("content");
dt.Columns.Add("score");
int count = 0;
if (hits.Length > 0)
{
if (total - (currentpage - 1) * pagesize < pagesize) pagesize = total - (currentpage - 1) * pagesize;
for (int i = (currentpage - 1) * pagesize; i < currentpage * pagesize; i++)
{
Document doc = instantce.Doc(hits[i].Doc);
DataRow dr = dt.NewRow();
dr[0] = doc.Get("id");
dr[1] = getSubString(RemoveAllHtml(doc.Get("title")));
dr[2] = getSubString(RemoveAllHtml(doc.Get("content")));
dr[3] = hits[i].Score.ToString();
dt.Rows.Add(dr);
count++;
}
}
}
补充:.NET技术 , C#