30代SEのメモ

主に技術系のメモを忘れないように記していこうと思います。

Elasticsearch6.3に日本語analyzerをインストール

前回まででelasticとkibanaのインストールは終わったので、analyzerを入れていきます。 入れるのは以下の3つ

  • kuromoji  基本的な日本語の形態素解析
  • analysis-icu 国際的に規約されてる文字の解析器
  • kuromoji-neologd kuromojiより流行りの固有名詞の辞書がとかが充実してる形態素解析

個人的な所感としては上記の3つを入れておけば充分かと思ってます。

Analyzerの説明をざっくりと。
elasticsearchはデータを登録・検索するときに以下の処理をAnalyzerを通して順番に行います。

  1. char filterによる文字列の正規化
  2. tokenizerによる文字列の形態素分割
  3. 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だとエラーになるようです。

Remove the intermediate "elasticsearch" directory within the plugin zip · Issue #9 · codelibs/elasticsearch-analysis-kuromoji-neologd · GitHub

  • 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のインストール手順はこちら

techblog.hatenadiary.com

前提として↑のインストールが完了していること。 以下の公式サイトを参考に。

www.elastic.co

インストール

鍵の追加や、リポジトリの追加は前回終わっているのでスキップ。

$ 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の画面が開けることを確認

http://localhost:5601

データの解析とかしない限り、別に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 使いたいなと思って色々調べてみました。

 

ygkb.jp

 

ほー、いつのまにやら窓にUbuntuを入れられるようになってたんですね!

dir からls に移れるということで早速、上記サイトを参考にして入れてみました。

あとはこの辺を参考にして、rbenvとruby2.6をインストール。

exrecord.net

  

 

ひとまずここまで。pythonrubyの開発するようにmac買うかなーと思ってましたが、Ubuntu使えるならWindowsもありかなと少しだけ思った次第。

しばらくはこれで進めてみます。ただ、ubuntuのせいなのかときおりPCがフリーズするようになった。。。