2.Elasticsearch 3分でやるmapping

Author:Makito

前回の記事 で「次は、mappingやらなんやらやっていこうかと思います。」
って書いてたので

mapping(MySQLとかでいうとこのスキーマ)
設定を簡単にさくっと。

前回Twitterのデータをブッ込んだのでTwitterのデータのmappingを設定

index:tweets
type:tweet_param
としていきます。

作成方法は以下
(さくっと試す為だけの設定)

curl -XPUT localhost:9200/tweets -d '
{
"mappings" : {
"tweet_param" : {
"properties" : {
"author" : {
"type" : "string"
},
"tweet_id" : {
"type" : "long"
},
"user_name" : {
"type" : "string"
},
"tweet" : {
"type" : "string"
},
"tweet_create_at" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss"
}
}
}
}
}
}'
{"acknowledged":true,"shards_acknowledged":true}
という結果が帰ってきたらOK
設定したmappingを確認する
curl -XGET localhost:9200/tweets/_mapping/?pretty=true

{
"tweets" : {
"mappings" : {
"tweet_param" : {
"properties" : {
"author" : {
"type" : "text"
},
"tweet" : {
"type" : "text"
},
"tweet_create_at" : {
"type" : "date",
"format" : "yyyy-MM-dd HH:mm:ss"
},
"tweet_id" : {
"type" : "long"
},
"user_name" : {
"type" : "text"
}
}
}
}
}
}

データの投入

【データ登録】

curl -XPUT http://localhost:9200/tweets/tweet_param/1 -d '
{
"tweet_id" : "791965673580670976",
"user_name" : "@southwinds09",
"tweet" : "低速のためガラケーから。ホノルルコーヒーのパンケーキ、さすがにこの時間は空いてるー♪(^^) https://t.co/5Au9eqiZla",
"tweet_create_at": "2016-10-28 20:31:45",
"tweet_create_at": "2016-10-28 20:31:45"
}'

{
"_index" : "tweets",
"_type" : "tweet_param",
"_id" : "1",
"_version" : 4,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}


【データの確認】

curl -X GET http://localhost:9200/tweets/tweet_param/1?pretty
{
"_index" : "tweets",
"_type" : "tweet_param",
"_id" : "1",
"_version" : 4,
"found" : true,
"_source" : {
"tweet_id" : "791965673580670976",
"user_name" : "@southwinds09",
"tweet" : "低速のためガラケーから。ホノルルコーヒーのパンケーキ、さすがにこの時間は空いてるー♪(^^) https://t.co/5Au9eqiZla",
"tweet_create_at" : "2016-10-28 20:31:45"
}
}

と帰って来ればOK

Tips: pretty パラメータは、JSONの結果表示読みやすくする為に付与しています。YAML形式が好みなら、format=yaml パラメータをつけて実行します。

直感的に分かりやす API

/{index}/{type}/{id}

各種ドキュメントのエンドポイントに対して、GET PUT POST DELETE HEAD メソッドで追加・更新・削除などの操作が可能です。

次は、matchクエリを記載していこうかと思います

この記事が気に入ったらサポートをしてみませんか?