Elasticsearch6.3に日本語analyzerをインストール
前回まででelasticとkibanaのインストールは終わったので、analyzerを入れていきます。 入れるのは以下の3つ
- kuromoji 基本的な日本語の形態素解析器
- analysis-icu 国際的に規約されてる文字の解析器
- kuromoji-neologd kuromojiより流行りの固有名詞の辞書がとかが充実してる形態素解析
個人的な所感としては上記の3つを入れておけば充分かと思ってます。
Analyzerの説明をざっくりと。
elasticsearchはデータを登録・検索するときに以下の処理をAnalyzerを通して順番に行います。
- char filterによる文字列の正規化
- tokenizerによる文字列の形態素分割
- token filterによる分割された単語に対する処理
最終的に分割された単語に対して、検索ワードと、入稿されてるデータが一致するかしないかでelasticsearchは検索を行っています。
この辺の設定はindexのフィールド単位で行えるんですが、詳しい説明は割愛。
とりあえずanalyzerを以下のコマンドでインストール。
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu $ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install org.codelibs:elasticsearch-analysis-kuromoji-neologd:6.3.1
※neologd:6.3.0だとエラーになるようです。
- elasticsearch再起動
$ sudo -i service elasticsearch start
- 確認
$ curl -XGET localhost:9200/_nodes/plugins?pretty
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "plugins" : [ { "name" : "analysis-icu", "version" : "6.3.2", "elasticsearch_version" : "6.3.2", "java_version" : "1.8", "description" : "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates anal ysis components.", "classname" : "org.elasticsear00 1ch.plugin.analysis.icu.AnalysisICUPlugin", "extended_plugins" : [ ], "has_native_controller" : false }, { "name" : "analysis-kuromoji", "version" : "6.3.2", "elasticsearch_version" : "6.3.2", "java_version" : "1.8", "description" : "The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into elastics earch.", "classname" : "org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin", "extended_plugins" : [ ], :2481 100 12481 0 0 580k 0 --:--:-- --:--:-- --:--:-- 580k "has_native_controller" : false }, { "name" : "analysis-kuromoji-neologd", "version" : "6.3.1", "elasticsearch_version" : "6.3.2", "java_version" : "1.8", "description" : "Kuromoji with Neologd analysis support", "classname" : "org.codelibs.elasticsearch.kuromoji.neologd.KuromojiNeologdPlugin", "extended_plugins" : [ ], "has_native_controller" : false } ],
ちゃんとインストールできてますね。 次は実際にmappingを定義して、データを登録してみます。
window10 のubuntuにkibana6.3をインストール
引き続き環境構築メモ③
今回はkibanaをインストールします。
elasticのインストール手順はこちら
前提として↑のインストールが完了していること。 以下の公式サイトを参考に。
インストール
鍵の追加や、リポジトリの追加は前回終わっているのでスキップ。
$ sudo apt-get install kibana $ wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.2-amd64.deb $ shasum -a 512 kibana-6.3.2-amd64.deb $ sudo dpkg -i kibana-6.3.2-amd64.deb
サービス起動
- 自動起動する場合は以下を実行(今回はテスト用なので実行しない)
$ sudo update-rc.d kibana defaults 95 10
- 手動起動
$ sudo -i service kibana start
起動確認
ブラウザから以下にアクセスしてkibanaの画面が開けることを確認
データの解析とかしない限り、別にkibanaは必要ないんですが、dev_toolsのsenseが便利なんで入れてます。
window10 のubuntuにElasticsearch6.3をインストール
引き続き環境構築メモ
elasticsearch導入編。
以下の公式サイトを参考に www.elastic.co
リポジトリ追加
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - $ sudo apt-get install apt-transport-https $ echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
インストール実行
/etc/apt/sources.list.d/配下に古いリポジトリ情報が存在する場合はエラーになったりするので適宜削除が必要。
$ sudo apt-get update && sudo apt-get install elasticsearch $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.deb $ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.deb.sha512 $ shasum -a 512 -c elasticsearch-6.3.2.deb.sha512 $ sudo dpkg -i elasticsearch-6.3.2.deb
サービス起動
- 自動起動する場合は以下を実行(今回はテスト用なので実行しない)
$ sudo update-rc.d elasticsearch defaults 95 10
- 手動起動
$ sudo -i service elasticsearch start
起動確認
$ curl "http://localhost:9200/" { "name" : "pvTG5h-", "cluster_name" : "elasticsearch", "cluster_uuid" : "cDmXq0siRHOpqH1famkqIQ", "version" : { "number" : "6.3.2", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "053779d", "build_date" : "2018-07-20T05:20:23.451332Z", "build_snapshot" : false, "lucene_version" : "7.3.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
5分もあれば起動までできます。
その他
設定を変える場合は以下のファイルを編集
- clusterや、デフォルトindexの設定など
/etc/elasticsearch/elasticsearch.yml
* JAVA/のメモリや、gcの設定等。
デフォルト1Gしかメモリを確保しないようなので、増やしておくとよいかも
/etc/elasticsearch/jvm.options
* ログの設定。基本はデフォルトで良いはず
/etc/elasticsearch/log4j2.properties
window10 に ubuntuを入れてみるメモ
window10 に ubuntuを入れてみるメモ
Alexa スキルを開発したいとふと思い、家のPCに開発環境を構築してみる。
構想としては以下。
①webページからスクレイピングし、データを取得しelasticsearchにデータ登録
②Alexa → AWS lambda→ API→ elasticsearchに検索
どうせスクレイピング等のプログラムするなら、vi 使いたいなと思って色々調べてみました。
ほー、いつのまにやら窓にUbuntuを入れられるようになってたんですね!
dir からls に移れるということで早速、上記サイトを参考にして入れてみました。
あとはこの辺を参考にして、rbenvとruby2.6をインストール。
ひとまずここまで。pythonやrubyの開発するようにmac買うかなーと思ってましたが、Ubuntu使えるならWindowsもありかなと少しだけ思った次第。
しばらくはこれで進めてみます。ただ、ubuntuのせいなのかときおりPCがフリーズするようになった。。。