前回 elasticsearch-grails-plugin の導入部だけをやってみたが、今回はさらに詳細にやってみる。
client mode
前回にも書いたが、Config.groovy に
client mode として、”local”, “node”, “dataNode”, “transport” を設定できる。
各モードの詳細ここを参照
おおざっぱに
local : ローカル(起動インスタンス)のみのノード
node : ノードとして起動するが、データはもたない
dataNode : データを保持するノード
transport : ノードとして起動せずに、マスタ側 elasticsearch と通信を専門とする
ここで、いくつか注意点がある。
elasticSearch.client.mode = ‘node’ の注意点
master 側のmulticastが有効じゃないと動かない
elasticsearch.yml に以下があるか確認
1 2 3 |
discovery.zen.ping.multicast.enabled: true |
elasticSearch.client.mode = ‘dataNode’ の注意点
今度は、master 側のmulticastが無効でも動くが、無効にしている場合は
Config.groovy で
elasticSearch.discovery.zen.ping.unicast.hosts を指定しないといけない。
1 2 3 |
elasticSearch.discovery.zen.ping.unicast.hosts = "localhost" |
Domain の作成
Domain に以下をいれると、Elasticsearch 用のドメインとして認識される。
1 2 3 |
static searchable = true |
各プロパティーの内容も以下のように設定できる。
例えば、data / post は not analyzed にして、 kibana 用に calcDate には @timestamp という別名をつけたい場合は以下のようにする。
1 2 3 4 5 6 7 |
static searchable = { data index:"not_analyzed" post index:"not_analyzed" calcDate alias:'@timestamp' } |