1
由於IndexReader.lastModified(Directory d)方法在lucene 4中已被棄用。請問您應該使用什麼來代替此代碼。在lucene版本中替換IndexReader.lastModified(Directory d)超過4
由於IndexReader.lastModified(Directory d)方法在lucene 4中已被棄用。請問您應該使用什麼來代替此代碼。在lucene版本中替換IndexReader.lastModified(Directory d)超過4
Lucene API不再有這樣的方法可用。 recommended approach將是,如果你需要這些信息,你應該通過提交數據使其可用。
所以當你提交到索引,設置提交的數據是這樣的:
Map<String, String> userData = new HashMap<String, String>();
userData.put("lastModified", String.valueOf(new Date().getTime()));
indexWriter.setCommitData(userData);
indexWriter.commit();
然後,當你需要讀取最後一次提交的時候,你可以從一個DirectoryReader
得到它,就像這樣:
Map<String, String> userData = directoryReader.getIndexCommit().getUserData();
Date lastCommitDate = new Date(Long.parseLong(userData.get("lastModified")));
fileModified(文件目錄,字符串名稱) 返回指定文件上次修改的時間。 [https://lucene.apache.org/core/4_6_0/core/org/apache/lucene/store/FSDirectory.html] – vinod