[Grails] sdk を使って簡単に、grails や groovy を入れる

gvm から名前が変わって、sdkになっていたので、それに応じてページを変更しました。

sdkツールのインストール

環境変数に反映

以下のエラーが出たら、javaをインストール(インストールしてない場合)して、JAVA_HOME をセットする.

  • JAVA_HOME を環境変数にいれる。

    環境変数に反映

動作確認

早速 grails を入れる

groovy を入れたいときは、以下を groovy で読み替えても同じ

使用可能なバージョン確認

最新版でインストール

バージョンを指定してインストール

使用するバージョンを指定する

一時的に変更する場合(現在のshellでのみ有効)

デフォルトで使用する場合(全てのshellで有効)

いまのバージョンの確認

確認

インストールされているもの全て確認

更新

sdk の更新

[Grails] elasticsearch-grails-plugin を入れてみる search編

elasticsearch-grails-plugin については、
elasticsearch grails plugin を入れる
elasticsearch grails plugin 詳細設定
elasticsearch grails plugin index編
で紹介した。
今回は、search編。

注意!
日付での検索は注意が必要なので、日付を使う検索は一番したの記述をみてください。

Query Strings で検索する方法

search() で、中に検索条件を書く

結果は以下のようになる。
result.searchResults : 検索結果
result.total : 検索のトータル

一回の検索で、全件は取れない。全件とるには total の数になるか、searchResults がなくなるまで検索する。
その時は、 以下のように、from を使うとよい。

Query Strings で複雑なクエリ

QueryString の文法は
http://lucene.apache.org/core/3_0_3/queryparsersyntax.html にある。

例えば、AND でつなげたい場合は、

Query Closure で検索する方法

こちらは、Elasticsearch での検索と同じような感覚で使える。

内部で if文も使える。

日付の扱い

search は日付の検索に注意。
Config.groovy で、

で、日付のフォーマット変更できるみたいだけど、将来変わる可能性ありとの事なので、標準のまま利用する。

標準だと、以下のような形式で入っているので、検索するときはこの形式にする

SimpleDateFormat を使うとこんな感じ

ただし、検索のときにロケール/Timezone を意識してね。