Tagbangers Blog

Hibernate Search

Hibernate Search + Elasticsearch を試してみる (Docker 版)

Hibernate Search 5.6 から Elasticsearch がサポートされました。 Hibernate Search は全文検索用のインデックスを Hibernate のエンティティのライフサイクルにあわせてリアルタイムに自動生成してくれます。 前回の記事では Elasticsearch の Docker イメージを使って簡単に動作を確認してみましたが、今回はさらに Maven のライフサイクルあわせて Docker の起動停止を行ってみます。 docker-maven-plugin を使うと、Maven の integration-test 実行時に Docker コンテナの...

Hibernate SearchのFieldBridgeとignoreFieldBridgeについて

前にだいぶはまってしまい色々な方のアドバイスにより解決し(てもらっ)たところをまとめます。 結論 Hibernate Searchで複数のカラムを条件にした検索がしたい場合など、お決まりのフィールドをカスタムしたい場合はFieldBridgeを使って表現することができます。 またFieldBridgeを使って登録された項目を検索するときはignoreFieldBridgeを使います。 私の間違いとやりたかったこと 人・商品・ブランドというEntityがあり、Entity同士の関連は Person 1-n Item n-1 Brand となっていたとします。 そのときに「あるブランドの商品を持っ...

Spring Boot で Hibernate Search のマルチテナンシーをやってみる

Hibernate Search がマルチテナンシーに対応したので、Spring Boot と組み合わせて試してみた。 試した環境は下記の通り。 Spring Boot 1.2.5.RELEASE Hibernate Search 5.3.0.Final サンプルコードはここにも置いてあります。 https://github.com/tagbangers/spring-best-practices/tree/master/spring-best-practice-hibernate-search-multi-tenancy マルチテナンシー (multi-tenancy) ってなに? ひとつの...

ISPN000055: Unexpected error in AsyncStoreCoordinator thread. AsyncCacheWriter is dead!

全文検索インデックスを再構築した時の「ISPN000055: Unexpected error in AsyncStoreCoordinator thread. AsyncCacheWriter is dead!」の対処法。 環境 Hibernate Search 4.5.1.Final Infinispan 6.0.2.Final  Stacktrace [AsyncStoreCoordinator-LuceneIndexesData] ERROR o.i.p.async.AsyncCacheWriter - ISPN000055: Unexpected error in AsyncStor...