3
如何獲取lucene搜索字符串的確切時間? 我想表現的東西是這樣的: 計算lucene搜索的時間
關於x
結果xx
秒。
我怎樣才能得到準確的時間?是他們在lucene庫下的任何實用工具嗎? 還是我需要自己計算一下?
編輯: 假設他們是在Lucene的核心庫中沒有實用本:
這是搜索碼:
TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);
is.search(query, collector);
hits = collector.topDocs().scoreDocs;
我怎樣才能得到搜索的準確時間(這行應該我用計時器包裝)?
多了一個編輯:我想這:
long t1 = System.currentTimeMillis();
is.search(query, collector);
hits = collector.topDocs().scoreDocs;
long t2 = System.currentTimeMillis();
Long time = (t2-t1);
System.out.println("time : " + time);
我得到time : 0
控制檯上的每次搜索。
是否意味着...... Lucene在搜索中沒有時間? (我的索引中只有100個文檔)
還有一個:試過這個;
long start = System.nanoTime();
is.search(query, collector);
hits = collector.topDocs().scoreDocs;
long end = System.nanoTime();
long time = (end - start)/1000;
此打印:
time : 10261
time : 12285
time : 14513
time : 1309
只是在執行搜索的調用周圍包裹一個計時器。 – adrianbanks 2012-07-29 19:27:50
這意味着..NO在lucene核心下的實用程序? – JAVAGeek 2012-07-29 19:28:41
100個文件數量非常少。嘗試使用'System.nanoTime()' – mishadoff 2012-07-29 20:16:05