Mac で Elasticsearch 6

事情があってelasticsearchの導入をしようとしているのですが、何も考えずに導入したv6は出たばかりのバージョンらしく、解説がどこにもない。。。

苦労して導入中のメモを残しておきます。

### java8の導入
(JDKがないと言われたので、javaを導入したらjava9でダメ)

```
$ brew cask install java8
```

### elasticsearch 導入 & 自動起動の設定

```
$ brew install elasticsearch
$ ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist
```

URL: http://localhost:9200

うまくいくと、下のような結果がブラウザに返ってきます。

```
{
  "name" : "5egFqAz",
  "cluster_name" : "elasticsearch_makaishi",
  "cluster_uuid" : "Yw_85VZrRwigNvlIl0rD4g",
  "version" : {
    "number" : "6.0.1",
    "build_hash" : "601be4a",
    "build_date" : "2017-12-04T09:29:09.525Z",
    "build_snapshot" : false,
    "lucene_version" : "7.0.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}
```

### プラグインの導入

```
$ cd /usr/local/Cellar/elasticsearch/6.0.1
$ bin/elasticsearch-plugin install analysis-icu
$ bin/elasticsearch-plugin install analysis-kuromoji
```


###index作成

```
$ curl -X PUT http://localhost:9200/test
```

###index設定確認

```
$ curl -X GET localhost:9200/test/_stats?pretty=true
```

###データ投入
content-typeを指定する必要あり

```
$ curl -H "Content-Type: application/json" -XPOST localhost:9200/index/type -d '{"message": "test message"}'
```

### kibanaの導入・起動

```
$ brew install kibana
$ kibana
```

url: http://localhost:5601/

うまくいくとこういう画面が出てきます。

![スクリーンショット 2018-01-27 20.47.05.png](https://qiita-image-store.s3.amazonaws.com/0/206130/8d003a02-c01d-e5bc-afa7-21200da2599e.png)


### kuromojiの設定について

kibanaの管理コンソールより行います。
左のメニューからDev Toolsを選び、以下のPUT文をコピペして実行ボタン

```
PUT test_jp_map 
{
    "settings": {
        "analysis": {
            "filter": {
                "synonyms_filter": {
                    "type": "synonym",
                    "synonyms": [
                        "タブホ,たぶ ほ"
                    ]
                }
            },
            "analyzer": {
                "jpn-search": {
                    "type": "custom",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark"
                    ],
                    "tokenizer": "kuromoji_tokenizer",
                    "filter": [
                        "synonyms_filter",
                        "kuromoji_baseform",
                        "kuromoji_part_of_speech",
                        "ja_stop",
                        "kuromoji_number",
                        "kuromoji_stemmer"
                    ]
                },
                "jpn-index": {
                    "type": "custom",
                    "char_filter": [
                        "icu_normalizer",
                        "kuromoji_iteration_mark"
                    ],
                    "tokenizer": "kuromoji_tokenizer",
                    "filter": [
                        "kuromoji_baseform",
                        "kuromoji_part_of_speech",
                        "ja_stop",
                        "kuromoji_number",
                        "kuromoji_stemmer"
                    ]
                }
            }
        }
    }
}
```

![スクリーンショット 2018-01-27 21.23.53.png](https://qiita-image-store.s3.amazonaws.com/0/206130/bc41e911-20ab-8a6c-5de3-4febf3acf415.png)


個々の設定の意味については[Elasticsearchを日本語で使う設定のまとめ](https://qiita.com/shin_hayata/items/41c07923dbf58f13eec4)に詳しいです。

### 形態素エンジンのテスト

下記のPOST文をDev Toolsにコピペして「実行」ボタン

```
POST test_jp_map/_analyze
{
  "analyzer": "jpn-search",
  "text": "すもももももももものうち"
}
```

結果

![スクリーンショット 2018-01-27 21.35.21.png](https://qiita-image-store.s3.amazonaws.com/0/206130/eaf12ec3-5ca1-477c-7e69-21aab91a45ab.png)

関連リンク [solrで日本語形態素解析結果を調べる(Mac版)](https://qiita.com/makaishi2/items/aec30b2aad177d546b5f)