Tips——IndexSearcher自动更新
生活随笔
收集整理的這篇文章主要介紹了
Tips——IndexSearcher自动更新
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
情景描述
為了調高效率,創建全局變量IndexReader取代每次查詢新建IndexReader所帶來的效率問題。
當時每天會更新一邊索引8.23號部署的Index服務,Search服務,結果index都更新到了8.25,查詢結果還是8.23的
Tips分享
先來看一下IndexSearcher的構造方法indexSearcher = new IndexSearcher(indexReader);
傳入一個indexReader,要知道在整個服務過程中,除非人為顯示的關閉reader的話,其他情況下,reader是不會關閉的。
所以就算index文件怎么變化,indexSearcher也不會捕捉到,或者說及時更新。
所以,就需要Searcher服務和Index服務保持一樣的更新頻率,在Index更新后Searcher也重新打開一個IndexReader
indexReader.close(); indexReaded = new IndexReader(Directory); indexSearcher = new IndexSearcher(indexReader);
?
轉載于:https://www.cnblogs.com/erbin/p/3947654.html
總結
以上是生活随笔為你收集整理的Tips——IndexSearcher自动更新的全部內容,希望文章能夠幫你解決所遇到的問題。