RailsでElasticsearchを1から動かしてみる 【その1 】インストール

とりあえず失敗してもいいからやってみます。

インストール

まっさらな状態からはじめます。
まずこの「RailsでElasticsearchを動かしてみる」専用のフォルダを作ります。(そこからかよ、というかんじですがそこからです)

$  mkdir rails-elasticsearch-try
$  cd rails-elasticsearch-try/
$  ls

$  pwd
$  自分のホームディレクトリ/rails-elasticsearch-try

RailsでElasticsearchを動かしてみる」専用のフォルダができました。
基本的にはここをプロジェクトのホームディレクトリとします。

さて、私のPCには現在railsのバージョンは何が入っているんでしょうか。確認します。

$ rails -v
Rails 5.0.2

rails 5.0.2でした。
公式リファレンスで現在のrailsの最新バージョンを確認すると5.2.2のようです。

f:id:sakura818uuu:20181213224617p:plain

一応upgradeしておきます。
railsはgemで管理されているので今回は思い切ってgem自体をupdateしました。
実行してから気づいたんですが、これもともとコード 書いてる途中とかだったらライブラリの依存関係が変わってしまってエラーが多発していましたね。

$ gem -v
2.5.1
$ gem update
(長い 終わるまでに約10分程待ちます)

updateのログを眺めていると途中こんな記述が…

Updating elasticsearch
Fetching: elasticsearch-transport-6.1.0.gem (100%)
Successfully installed elasticsearch-transport-6.1.0
Fetching: elasticsearch-api-6.1.0.gem (100%)
Successfully installed elasticsearch-api-6.1.0
Fetching: elasticsearch-6.1.0.gem (100%)
Successfully installed elasticsearch-6.1.0
Updating elasticsearch-dsl
Fetching: elasticsearch-dsl-0.1.6.gem (100%)
Successfully installed elasticsearch-dsl-0.1.6
Updating elasticsearch-model
Fetching: elasticsearch-model-6.0.0.gem (100%)
Successfully installed elasticsearch-model-6.0.0
Updating elasticsearch-rails
Fetching: elasticsearch-rails-6.0.0.gem (100%)
Successfully installed elasticsearch-rails-6.0.0

elasticsearch-rails-6.0.0のgemもインストールしたようです?  
そして引き続きログを眺めているとrailsもアップデート出来たような記述がありました

Fetching: rails-5.2.2.gem (100%)
Successfully installed rails-5.2.2

どうやら公式リファレンスにも書かれていた最新版の5.2.2がインストールできたようです!

コマンドを実行してから10分、なんやかんや終了したようです。
バージョンを確認してみます。

$ gem -v
2.5.1
$ rails -v
Rails 5.2.2

railsは最新のバージョンになっていますね(よかった)
あれ?gemは元のバージョン2.5.1と変わっていない、と思いましたが
たぶんgem updateはgemそのものをバージョンアップするのではなくてgemに紐付けられているライブラリやらをアップデートしてくれるやつなんですね。

間違ってたら本当に申し訳ない。備忘録なのでこれからも多々知識が間違っているところがあるかとは思います。

なにはともあれrailsの最新バージョンが手に入りました。

次にelasticsearchをインストールします。
これだけ文字数書いて手に入ったのはまだrailsの最新バージョンだけなので環境構築はしんどいですね。
私は世界で一番環境構築が苦手です。

elasticsearchの公式サイトを見ると最新版は6.5系です。

f:id:sakura818uuu:20181213231808p:plain

しかし、後々elasticsearchのアップデートを体験したいため今回はこちらのリンクから5.5系をダウンロードします。

あ、そういえばelasticsearchにはjava1.8以上が必要でしたね。
一応確認しておきます。

$ java -v
Unrecognized option: -v
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
$ java --v
Unrecognized option: --v
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

あるあるをやっちまいました。javaってなんで-vじゃないんでしょうね。(純粋な疑問)
でもjavaのバージョンは要件を満たしていそうです。

次にelasticsearchを起動します。

$ pwd
/rails-elasticsearch-try
$ ls
elasticsearch-5.5.0
$ cd elasticsearch-5.5.0/
$ ls
LICENSE.txt NOTICE.txt  README.textile  bin     config      lib     modules     plugins
$ bin/elasticsearch
起動ログが流れるので新規タブを新たに作成


$ curl http://localhost:9200/
{
  "name" : "RfwVuap",
  "cluster_name" : "elasticsearch_sakura818uuu",
  "cluster_uuid" : "-oR1OxcTSvSLi9u_mEhj5w",
  "version" : {
    "number" : "6.2.4",
    "build_hash" : "ccec39f",
    "build_date" : "2018-04-12T20:37:28.497551Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

elasticsearchが起動できてることが確認できました。

まとめ

以下の2つが出来ました。ほぼ環境構築ですね。
railsのインストール
・elasticsearchのインストール

次回はこちら↓を参考に、railsのプロジェクトを作成〜テストデータ作成までをやっていこうと思います。

ruby-rails.hatenadiary.com