Elasticsearch

Ubuntuにelasticsearchをインストール、セットアップする

Vagrantで立てたUbuntuにelasticsearchをインストール、セットアップしてみようと思います。 デスクトップPC(windows)をゲーミング用で一台所有してるんですが、こちらプログラミング趣味用としても使いたいなと。ゲームパフォーマンスに影響が出るのでホス…

termクエリを使ってみる

そう言えば、elasticsearch勉強したことあるけれど、あまり検索にフォーカスしていなかったなっと思いました。mappingとか、indexとかその辺りの事中心だった気がします。(もう忘れたけれど) term って和訳すると、「用語」「言葉」って言うらしいです。 t…

Writing in progress: Quorum(定足数)による決定

Quorum-based decision making Quorum-based decision making | Elasticsearch Guide [8.1] | Elastic master-eligible nodeの基本的なタスクは次の二つ。 master nodeの選出 cluster状態の変更 この二つのタスクは例えいくつかのノードが使用不能になったと…

Elasticsearchでcat shards APIを使いshardがどこのnodeに割り当てられているかを確認する

Elasticsearchでshardがcluster内のどこのnodeに属しているか確認したいと思うことがあったので、表示方法を調べてみました。 Elasticsearchに対するREST APIは以下のドキュメントから調べることができます。 REST APIs | Elasticsearch Guide [8.1] | Elast…

スナップショットとリストアをやってみる

RDBと同じようにデータのバックアップとリストアをやってみました。 次のdocker-compose.ymlを使って環境構築しています。 version: '3.9' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:8.0.0 ports: - 9200:9200 - 9300:9300 env…

BucketとMetricsを使ってみる

Bucket と Metrics を使って、検索ではなくドキュメントの情報を分析できるようです。 Bucket と Metrics はどちらも、Aggregation と言われるものの一部みたいですね。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregatio…

全インデックスをリストで取得する方法

こちらにやり方が書いてありました。 cat indices API | Elasticsearch Guide [8.0] | Elastic 次のHTTPリクエストで、取得できます。 GET /_cat/indices // レスポンス [ { "health": "green", "status": "open", "index": ".geoip_databases", "uuid": "eH…

dynamic templateを使うと動的に追加されるフィールドのmappingを指定できる

サマリ dynamic templateを使えば、mappingを動的に決められます。 決め方は次の3つがあります。 match_mapping_type:デフォルトのmappingをもとに、mappingを割り当てます。 match , unmatch:フィールド名から、mappingを割り当てます。 path_match , pat…

Elasticsearchのcomponent templateは左から順に適用される

サマリ component templateは、index templateに配列で指定されますが、左から順に適用されます。 適用の動作は各フィールドを合成するイメージです。重複するフィールドの場合は値が上書きされ、重複するフィールドが無ければ追加されます。 https://www.el…

Elasticsearchのインデックステンプレートのpriorityで優先度を変えてみる

重複した内容のインデックステンプレートを作成する場合について、少しだけ調べてみました。 サマリ priorityで設定された値が大きいものが、適用されます。 https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-template.html 環…

Elasticsearchのindex templateを試す

index templateを使うと、インデックスの各種設定値をあらかじめ決めておくことができます。 https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html index templateは、複数のcomposed templateを含めることができます。co…

Elasticsearchのクラスタ構成を試す

クラスタを組んでみます。 ノードは3つで、それぞれをmaster-eligable、data、Ingestの役割を割り当ててみます。 Node | Elasticsearch Guide [7.16] | Elastic 環境はdocker-composeを使いました。 $ docker-compose --version docker-compose version 1.29…

Elasticsearch で Custom Analyzer 使ってみる!

Elasticsearch の Analyzer のカスタマイズ方法を調べてみようと思います。 Custom Analyzer を作る 基本はここに書いてありますね。 Create a custom analyzer | elastic docs 前回の記事でも載せましたが、Analyzer には3つの要素があり、カスタムで作る…

Elasticsearch のテキスト解析について調べてみた!

前回の記事でマッピングについて調べてみたことを書きましたが、調べていく中でテキスト解析の単語がちらほらと出てきていたので理解しておこうかなと。 テキスト解析とは 公式サイトのドキュメントにて、テキスト解析は以下のように説明されています。日本…

Elasticsearch のマッピングについて調べてみた!

ドキュメントの保存と検索はざっくりとわかったので、マッピングについて調べました。 マッピングとは ドキュメントがどのように保存され、どのようにインデックスが作成されるかを定義するのがマッピングらしいです。RDBで言うスキーマかなと最初思ったので…

Elasticsearch の検索(Query DSL)について調べてみた!

前回に引き続き Elasticsearch についてです。今回は検索の Query DSL について調べてみようかと。 チートシート発見したので、ドキュメント詳しく読むのがめんどくさいときは参考にしようと思います。 https://elasticsearch-cheatsheet.jolicode.com/ Quer…

Elasticsearch を使ってみた!

お仕事で Elasticsearch という単語を何度も聞くようになったのでとりあえずどんなものか知っておこうかと。 Elasticsearch とは What is Elasticsearch? | 公式ドキュメント 公式サイトでは次の一文で Elasticsearch とは何かを説明しています。 Elasticsea…