2016-11-18 62 views
0

我有REST服務,它使用來自數據庫(mongodb)的數據。我想添加apache lucene庫來實現全文搜索。什麼時候在lucene中建立索引

我從來沒有使用Lucene的之前,所以試圖瞭解它是如何工作進行檢查教程,但還是有一點是清楚對我來說:

在做數據庫數據的索引?我有DB,一些數據被添加和刪除的次數更多,有些更新很少。我可以通過所有最新的數據來完成搜索請求。

我應該更新每個數據更新的索引,否則它會自動完成,並且足以索引一次?如果應該進行重新索引,那麼多長時間一次?

回答

2

如果您想要搜索實時數據,那麼您應該在數據庫中執行add, update and delete數據的同時在lucene索引中輸入add, update and delete數據。

對於indexing這將完全正常,但不會對您的每個操作的索引爲optimize

您可以在一天或根據您的使用優化您的索引一次。優化索引將幫助您更快地搜索結果。

請參考這個tutorial剛剛從lucene的基本應用開始。

+0

謝謝你的解釋 – Bublik

+0

令人驚歎!謝謝 – Ichirichi

1

您可以嘗試MongoDBs自己的功能(見Mongo Docs)。這可能不是靈活性,並不像Lucene那麼強大,但它是免費的。

你真的問了一個有問題的問題:「什麼時候編制索引?」。答案取決於你的要求。但是,您可以查看this post以查看它在技術上是如何完成的:脫機,即您在索引中將總是或多或少地落後。

相關問題