メモ用
インデックス一覧を確認したい
curl -XGET awesome.com:9200/_aliases?pretty
http://stackoverflow.com/questions/17426521/list-all-indexes-on-elasticsearch-server
あるインデックスのマッピングを確認したい
ここでは[logstash-2XXX.XX.XX]というインデックスのマッピングを対象にしています。
curl -XGET awesome.com:9200/logstash-2XXX.XX.XX/_mapping?pretty
マッピングを設定したい
ここではtemplate_1にlogstash系のログのプロパティを設定しています。
curl -XPUT awesome.com:9200/_template/template_1 -d '
{
"template" : "logstash-*",
"mappings" : {
"nginx": {
"properties": {
"reqtime" : {"type" : "float"}
}
}
}
}
nginxのアクセスログをfluentd経由でelasticsearchに流し込むようにした。
特別な設定ナシでインデックスを勝手に作ってくれるのはありがたい。ただ、プロパティはデフォルトでstringになる。なので、リクエストタイムをソートして見たい、ってときに正しくソートされずに困ってた。
そこで、上記のようなリクエストを投げてreqtimeをfloat型として扱うように設定した。
こういうリクエストなげると、他のプロパティを消しちゃったりしないか不安だったけれど、指定されたプロパティのみ更新されるのがスゴいありがたかった!