私は Hibernate と、 LuceneおよびCompassに基づくGrails Searchable Pluginを使用しています。データベースからオブジェクトを照会するためにいつ何を使用する必要があるのか 疑問に思っていました。
いつ Hibernate を使用し、いつ Searchable を使用するかという経験則はありますか?
私は Hibernate と、 LuceneおよびCompassに基づくGrails Searchable Pluginを使用しています。データベースからオブジェクトを照会するためにいつ何を使用する必要があるのか 疑問に思っていました。
いつ Hibernate を使用し、いつ Searchable を使用するかという経験則はありますか?
アプリケーション全体で自由形式のテキスト検索を考える場合、Searcable プラグインは非常に便利です。
例を挙げると、銀行アプリケーションで作業していて、検索機能を備えたポータルを構築している場合です。また、顧客名、ssn、電話番号、電子メール ID などのすべての主要要素を自由形式で検索したい場合は、searchable を使用してそれらをインデックス化し、searchable と対話する検索を提供して、すぐに検索結果を取得したいと考えています。これを行うには、少なくともこれらの重要な要素にインデックスを付ける必要があります。キー検索要素をさらに追加すると、インデックスは ans として大きくなります。
一方、多くの要素にインデックスを付けたくない場合は、hibernate が詳細情報を提供するのに役立ちます。上記の例を拡張するには、SSN で検索してヒットしたら、そのエントリを選択すると、hibernate を使用して、基礎となる永続レイヤーから詳細情報を取得できます。
推論:
高速で高パフォーマンスの場合、自由形式の検索 searhable がオプションです。
詳細情報を収集するには、検索を投稿してください。詳細情報にも検索可能を使用したくない場合は、休止状態が適していると思います。その場合、インデックスのサイズはギグになります。
ここをエラスティック検索でフォローすると、理解に役立つ場合があります。私のポイントは、エラスティック/検索可能なライターを作成し、重い持ち上げ部分を休止状態で処理することです。
注余談ですが、検索可能ではなくエラスティック
を使用することをお勧めします。また、便利な groovy API も備えています。また、エラスティック プラグインは現在エラスティック検索の v0.20.0 バージョンを使用していることに注意してください。最新のものは v0.90.2 だと思います。必要に応じて、エラスティック サーチを依存関係として直接使用し、最新の機能を取得できます。