Lucene6.1查詢所有資料
阿新 • • 發佈:2019-01-24
初次進行Lucene相關開發,想要獲取所有資料,但一直沒有找到合適的方法,而且之前好多網路上的方法都是Lucene之前的版本,由於Lucene一直在改版,好多方法在Lucene6.1都已經棄用了,以下是我寫的一個簡單易懂得demo,初次接觸Lucene查詢的可以參考下:
public class TestMain(){
public static void main(String a[]){
String path = "/home/proplam";
Directory directory;
try{
directory = FSDirectory.open(Path.get (path));//開啟索引資料夾
IndexReader reader = new DirectoryReader.open(directory);//讀取目錄
IndexSearcher searcher = new IndexSearcher(reader);//初始化查詢元件
int count = reader.maxDoc();//所有文件數
for (int i = 0; i < count; i++){
Document doc = searcher.doc(i);
List<IndexableField> listField = doc.getFields();
for ( int j = 0;j < listField.size(); j++){
IndexableField index = listField.get(j);
System.out.println(index.getname()+":"+index.stringValue());
}
}
reader.close();
directory.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
這個方法的前提是已經建立好了儲存表的索引,該方法是為了查詢所有的表字段及對應的值。
(有哪裡表述不當的地方請指出見諒!)