/ / NHibernate Searchは基礎となるデータへの変更を認識するようになりますか? - 休止状態、休止状態、休止状態検索、休止状態検索

NHibernate Searchは基礎となるデータの変更を認識することになりますか? - 休止状態、休止状態、休止状態 - 検索、休止状態 - 検索

私は「NHibernate(またはHibernate)Searchが「データベースとインデックスの同期を処理する」という効果について、オンラインでいくつかのステートメントを見ました。

私がこれらの陳述を読むとき、私は助けることができない黙示があるかどうか疑問に思う 「...すべてのデータアクセスに[N] Hibernateを使用している限り」

私は完全に別のアプリケーションによって所有されているデータベースに対する読み取り専用のデータアクセス層としてNHibernateを使用しています。 決して 外部書き込みを直接認識してください。

Hibernate / NHibernate Searchは実際に機能しますかクエリ通知の設定や、インデックス全体または一部のインデックスに対する有効期限の設定など、生データへの変更を監視するための何か。

それとも、外部アプリケーションによってより多くの行が変更されるにつれて、Luceneインデックスは徐々に徐々に安定していくでしょうか。

このツールなら doesn't そのような同期を実行してから、手動でのインデックス再作成を除きます。 非常に きちんと時間を計るのが難しい)それ以外の場合は、Luceneインデックスをデータベースと同期させることができますか。これまでSQL ServerのFulltext機能を使用することをお勧めします。

回答:

回答№1は1

私は「私からの答えを推論することができたと思います」 Hibernate Searchのドキュメント

Hibernate Searchはすべてを透過的に索引付けしますエンティティはHibernate Coreを通じて永続化、更新、削除されました。ただし、データベースにすでに存在するデータ用の初期Luceneインデックスを作成する必要があります。

あなたが作成する必要がある場合 初期 アプリケーションの外部で何らかの変更が行われた場合は、インデックスを更新する必要があります。

明らかに、HS / NHSは ない ほとんどすべてのデータ書き込みがセッションを通じて行われない限り、SQL Server FTS、Oracle Textなどの忘れられない解決策です。