elasticsearch grails plugin を入れる と elasticsearch grails plugin 設定詳細 で、設定方法を書いたが、次にデータを入れてみる。
データを入れる
通常の Domain と同じ扱いでできる。
違う点は保存するときは、 index() を使う。
ただし、id は自動生成されないので注意。
自動生成したいときは、一度 save() を呼び出す。
検証中だが、一度 save() を呼び出すと、RDB側にも反映されるので意味ないような。。。
save()なしで、elasticsearch側に反映するには、
1 2 3 4 5 6 7 |
BlogPostElastic post = new BlogPostElastic() post.post = "aaaaa" post.data = 10 post.id = 20 post.index() |
のように、id を手動で生成する。
ちなみに、idを、UUIDのような文字を含むものにすると、落ちるので注意
id を自動生成する場合は、save() を挟む。先ほど言ったがRDBにも反映されてしまうが。
1 2 3 4 5 6 7 |
BlogPostElastic post = new BlogPostElastic() post.post = "aaaaa" post.data = 10 post.save() post.index() |
domain.index()
を使わずに、 elasticSearchService というサービスを使う方法もあるみたいだが、ここに書いてある、特に変わらなそうだから、今回は割愛した。