刚才测试好像是在我对Hit 做循环时报错 List results = new ArrayList(); int hitLen = hits.length(); for (int i = 0; i < hitLen; i++) { results.add(hits.doc(i)); //就在hits.doc(i)中报错了 } 咋回事
完整代码如下: List results = new ArrayList(); IndexSearcher searcher = null; try { searcher = new IndexSearcher("e:/index"); org.apache.lucene.search.Query query = null; query = MultiFieldQueryParser.parse(queries, "content",ISAnalyzer.getAnalyzer(1)); Hits hits = searcher.search(query, getFilters()); int hitLen = hits.length(); for (int i = 0; i < hitLen; i++) { results.add(hits.doc(i)); } hits=null; }catch (Exception e) { System.out.println("search:"+e.getMessage()); }finally { if (searcher != null) { // 关闭 try { searcher.close(); } catch (IOException e) {} } }
List results = new ArrayList();
int hitLen = hits.length();
for (int i = 0; i < hitLen; i++) {
results.add(hits.doc(i)); //就在hits.doc(i)中报错了
}
咋回事
List results = new ArrayList();
IndexSearcher searcher = null;
try {
searcher = new IndexSearcher("e:/index");
org.apache.lucene.search.Query query = null;
query = MultiFieldQueryParser.parse(queries, "content",ISAnalyzer.getAnalyzer(1));
Hits hits = searcher.search(query, getFilters());
int hitLen = hits.length();
for (int i = 0; i < hitLen; i++) {
results.add(hits.doc(i));
}
hits=null;
}catch (Exception e) {
System.out.println("search:"+e.getMessage());
}finally {
if (searcher != null) {
// 关闭
try {
searcher.close();
} catch (IOException e) {}
}
}