1.Elasticsearch 3分でやるCURD

Author:Makito

最近なにかと検索まわりや、一覧系 量が多いコンテンツを扱うことが増え柔軟にコンテンツを検索できないか?調べると、「Elasticsearchっしょ!」という声が多かったので触ってみました。

以下引用
Elasticsearchとは Elasticsearch(エラスティックサーチ)。Elastic社が提供する「Lucene」(ルシーン)ベースのオープンソース全文検索エンジンです。マルチテナント、スキーマレスでクラウドに最適化されています。
※「Lucene」(ルシーン)  Javaで記述された全文検索ソフトウェアである。 あらかじめ蓄積した大量のデータから、指定したキーワードを探し出す機能を持つ。 Javaのクラスライブラリとして提供される。


公式サイトに、

好きなプログラミング言語でアクセスできますElasticsearchは、標準のRESTful APIとJSONを使用します。クライアントライブラリの開発と保守はJava、Python、.Net、Groovyといった多数の言語で行われているのに加え、コミュニティによる貢献も多くあります。簡単に使え、操作感もナチュラルです。Elasticsearchの可能性が無限なのと同様に、やりたいことにも限界を決めることはないのです。 

とあるので、ElasticsearchとPythonとJava中心でやっていこうかな
Elasticsearchインストール
このURLにインスト方法が全部記載
僕はMacなのでMacのESファイルをダウンロード
展開して、コマンドラインで bin/elasticsearch で起動
Elasticsearchのログがわらわらでてきたら完了です。
コマンドラインで curl http://localhost:9200/ を叩きjson形式のデータが返ってきたらOKです。


$ curl http://localhost:9200/
{
"name" : "xxxxxxxxxxx",
"cluster_name" : "elasticsearch_xxxxxxxxxxx",
"cluster_uuid" : "xxxxxxxxxxxxxxxxxxxxxxxx",
"version" : {
"number" : "5.0.0",
"build_hash" : "xxxxxxxxxx",
"build_date" : "2016-10-26T04:37:51.531Z",
"build_snapshot" : false,
"lucene_version" : "6.2.0"
},
"tagline" : "You Know, for Search"
Elasticsearchシステム概要
さくっと書くと
Index
「リレーショナルDBのDBのようなもの」
Type
「リレーショナルDBのテーブルのようなもの。格納された値は、全文検索に最適化される。」
Document
「カラム」

突っ込むデータはTwitterのAPIを使用して取得して使います。
(データが揃いやすいのでTwitterにしました)

簡単なCRUD的なの

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

【データの更新】
もう一度PUTでつかったjsonデータを変更したらデータ登録を実行

【データの削除】
curl -X DELETE http://localhost:9200/tweets/tweet/1

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

次は、mappingやらなんやらやっていこうかと思います。

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