?? searchperformancetest.java
字號:
package performance.search;
import java.io.IOException;
import java.util.Date;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
public final class SearchPerformanceTest {
private IndexSearcher searcher = null;
private Analyzer analyzer = null;
public SearchPerformanceTest() throws IOException {
analyzer = new StandardAnalyzer();
searcher = new IndexSearcher(IndexReader.open("c:\\index"));
}
/**
*
* @param queryString
* The keyword a user typed
* @param field
* The field to search for
* @return search result, or null if anything went wrong
*/
public final Hits search(String queryString, String field) {
if (searcher != null) {
try {
QueryParser parser = new QueryParser(field, analyzer);
parser.setOperator(QueryParser.DEFAULT_OPERATOR_AND);
Query query = parser.parse(queryString);
return searcher.search(query);
} catch (ParseException e) {
// logs here
e.printStackTrace();
return null;
} catch (IOException e) {
// logs here
e.printStackTrace();
return null;
}
}
return null;
}
/**
* @param args
*/
public static void main(String[] args) throws IOException {
SearchPerformanceTest searcher = new SearchPerformanceTest();
Date start = new Date();
Hits h = searcher.search("中國","contents");
Date end = new Date();
System.out.println("總共耗時" + (end.getTime()-start.getTime()) + "毫秒" );
System.out.println("總共找到" + h.length() + "個文件");
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -