Elasticsearch

From ArchWiki
Jump to navigation Jump to search

Wikipedia:ja:Elasticsearch より:

ElasticsearchLucene 基盤の分散処理マルチテナント対応全文検索エンジンである。HTTP ウェブインターフェイスと自由な JSON ドキュメントを使用する。Elasticsearch は Java で開発されており、Apache ライセンスで公開されているオープンソースソフトウェアである。

インストール

Elasticsearch は最低でも OpenJDK 7 を必要とします。Java を見てください。

elasticsearch パッケージをインストールしてください。

実行

elasticsearch.service起動有効化してください。

curl を使って Elasticsearch にアクセスできることを確認してください: curl -X GET '<protocol>://<host>:<port>'。例:

$ curl -X GET http://127.0.0.1:9200
{
  "name" : "Sunder",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "*cluster-uuid*",
  "version" : {
    "number" : "2.4.1",
    "build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
    "build_timestamp" : "2016-09-27T18:57:55Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

設定

Elasticsearch のメインの設定ファイルは /etc/elasticsearch/elasticsearch.yml です。

  • デフォルトでは Elasticsearch は誰からでもアクセスできる状態になっています。特定のホストからのアクセスだけを許可するようにすることを推奨します:
network.host: 127.0.0.1
  • デフォルトの 9200 の代わりにカスタムポートを使うことができます:
http.port: 9200
  • デフォルトの初期・最大メモリ使用量は以下の設定で変えられます:
/etc/elasticsearch/jvm.options
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms128m # e.g. 256m, 1g, 2g, ..
-Xmx512m # e.g. 256m, 1g, 2g, ..
ノート: elasticsearch をインストールすると /usr/lib/sysctl.d/elasticsearch.confvm.max_map_count が引き上げられます。

vm.max_map_count のシステム上限を更新する必要があります:

# sysctl -w vm.max_map_count=262144

使用方法

Elasticsearch は REST API を使用します。詳しくは Wikipedia:ja:REST を見てください。

Talking to ElasticsearchGetting started ガイドに基本的な情報と詳しい使い方が載っています。

Elasticsearch サーバーの管理 (ドキュメントのメンテナンスや検索の実行など) は基本的に クライアント を使用して行います。お好きなプログラミング言語とのシームレスな統合が可能です。

ElasticSearch インスタンスやクラスタを管理する便利なツールとして ElasticHQ, Elasticsearch GUI, Kibana が存在します。Adminer を使って管理することもできます。