最近触る機会をもらってがちゃがちゃやってるのでMac OSXへのインストール方法をまとめました.

elasticsearchとは

elasticsearchはApache Lucene上で稼働するオープンソースの全文検索システムです.
データをPOSTするだけでインデックスを自動で作成してくれ,
日本語の形態素解析プラグインを入れれば日本語での全文検索も可能になります.

特徴としては,REST APIが整備されており,JSONですべてやり取りできる点があげられます.

インストール手順

1. javaのインストール

Javaが必要のため,インストールしていなければインストールします.
JavaのダウンロードページからMac OSX x64用のJDKをダウンロードして下さい.

2. ElasticSearchのインストール

2014/4/19時点での最新バージョンであるelasticsearch1.1.1をインストールします.
最新バージョンは公式サイト公式サイトで確認してください.

$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz
$ tar -xf elasticsearch.tar.gz
$ rm elasticsearch.tar.gz
$ mv elasticsearch-* elasticsearch

3. 設定変更

$ vi elasticsearch/config/elasticsearch.yml
* 使用するHTTPポートを指定
http.port: 9200

4. ElasticSearchを起動

$ ./elasticsearch/bin/elasticsearch -f

5. 起動確認

http://localhost:9200/にアクセスしてみましょう.

以下のように200がくればElasticSearchは問題なく稼働しています.

{
  "ok" : true,
  "status" : 200,
  "name" : "Hellstrom, Damion",
  "version" : {
    "number" : "0.90.8",
    "build_hash" : "909b037218cf880e8772b066a764f179f2d5e719",
    "build_timestamp" : "2013-12-18T16:08:16Z",
    "build_snapshot" : false,
    "lucene_version" : "4.6"
  },
  "tagline" : "You Know, for Search"
}

6. ElasticSearchにデータを格納

JSONをなげることでデータを格納できます.
ElasticSearchではデータを格納する際に自動でマッピングが行われます.

$ curl -XPOST http://localhost:9200/sake/test -d’
>{
> “name” : “urakasumi”,
> “pref” : “miyagi”
>}’

{"ok":true,"_index":"sake","_type":"test","_id":"at9aMZ1yT12URMW2YOJQpw","_version":1}

上の例はでインデックスsakeとそのなかのタイプtestが作成され,データが格納されています.
インデックスはmysqlでのデータベース,タイプはテーブルのようなものです.

今回_idは指定していないので自動に生成されていますが,urlを …e/test/1 のように
することで明示的に_idを指定することも出来ます.

7. ElasticSearchのデータを検索

格納したデータを検索する際にもJSONを投げます.結果もJSON形式で返ってきます.

$ curl -XGET http://localhost:9200/sake/test/_search -d '
>{"query":{"match":{"name":"urakasumi"}}}'

{"took":89,"timed_out":false,"_shards":
{"total":5,"successful":5,"failed":0},
"hits":{"total":1,"max_score":0.30685282,"hits":
[{"_index":"sake","_type":"test","_id":"at9aMZ1yT12URMW2YOJQpw","_score":0.30685282, "_source" : {
"name" : "urakasumi",
"pref" : "miyagi"}}]}}

8. ElasticSearchのデータを削除

$ curl -XDELETE http://localhost:9200/sake/

{"ok":true,"acknowledged":true}

一応brewでもインストールは可能ですが,brewからのものは何点か不具合が報告されているそうです.
日本語検索への対応方法や便利なプラグインは後日追記します.

Share Button

Mac OSXへのelasticsearchのインストール

<2014/04/20>