我在網上看到幾個聲明,NHibernate(或Hibernate)搜索「照顧數據庫/索引同步」的效果。NHibernate Search會不會意識到底層數據的變化?
當我讀到這些語句時,我忍不住想知道是否存在隱含的「......只要您使用[N] Hibernate來訪問任何數據。」
我使用NHibernate作爲對由不同的應用程序完全擁有的數據庫的只讀數據訪問層- 所以我的應用程序將永遠直接感知外部寫的。
Hibernate/NHibernate Search實際上是否會做任何事情來監視原始數據的變化,例如在設置查詢通知和/或在整個或部分索引中使用生存時間或「過期時間」?
還是Lucene索引隨着時間的推移逐漸變得更加穩定,因爲越來越多的行被外部應用程序改變了?
如果這個工具不做這種同步的,那麼除了手動重新索引(這將是非常很難時間正確),有什麼事我可以做,以保持同步Lucene索引與數據庫,還是我最好只使用SQL Server中的Fulltext功能,因爲我一直在做這件事?
我還想補充一點,考慮到這個限制,以及NH Search的大量索引功能的痛苦缺乏(不像相對全功能的Java/Hibernate版本),我不認爲我會使用NH搜索一個傳統的數據庫,並且在將其用於可能需要互操作的生產應用程序中之前會考慮很長時間。 – Aaronaught
無賴。就像你我希望HS可以自動更新索引... –