Elasticsearch:検索界のスター技術とその進化
こんにちは、皆さん。検索技術の世界へようこそ。
本記事では、検索技術の分野で革命をもたらしたが、同時に議論を呼んできた製品について掘り下げます。Elasticsearchです。
導入
もしLuceneが舞台裏のヒーローなら、Elasticsearchはまさにセンター stageのスターです。REST API、分散アーキテクチャ、強力なエコシステムを通じて、検索+分析を「すぐに使える」サービス形 ...
6月2日 23:46 投稿
LogstashとNginxログ統合の実践設定ガイド
JDKの事前準備
LogstashはJavaランタイムに依存するため、まずJDK 8をシステムに展開します。
# JDKアーカイブの展開とシンボリックリンク作成
sudo tar xzf jdk-8u202-linux-x64.tar.gz -C /usr/local/
sudo ln -sf /usr/local/jdk1.8.0_202 /usr/local/java
# 環境変数の永続化(/etc/profile.d/java.sh)
echo 'export JAVA_HOME=/usr/local/java' | sudo tee /etc/pr ...
6月1日 23:22 投稿
Spring BootとELKスタックの構築および設定手順
前提条件
CentOS 7、JDK 8の環境が必要です。
ELKスタックとは?
ELKスタックは、Elasticsearch、Logstash、Kibanaの3つのオープンソースツールを組み合わせたログ解析プラットフォームです。
Elasticsearch: 分散型検索エンジンで、ログデータの格納と高速検索を提供します。
Logstash: ログ収集・変換ツールで、さまざまなソースからデータを取得し、処理してElastics ...
5月30日 10:41 投稿
Elasticsearch Set Processorによるフィールド更新時の_source汚染問題の分析
問題背景
ある開発者がinteger型のフィールドにkeyword型のサブフィールドを追加し、正確なマッチングクエリを最適化して検索速度を向上させたいと考えていました。
インデックスのデータ量が大きくないため、reindexのような複雑な操作は避け、update_by_queryを使用して既存データを更新することにしました。
以下にテストした手順を示します。フィールドのサブフィール ...
5月28日 01:13 投稿
Elasticsearch実践ガイド:RestTemplateによるデータ操作と分散ログ収集基盤の構築
環境準備と基本設定
Elasticsearchのアーカイブを解凍後、bin/elasticsearchを実行することで9200ポートでサービスが起動します。操作インターフェースとしてKibanaを併設する場合、バージョンをElasticsearchと一致させる必要があります。kibana.ymlではserver.port、server.host、elasticsearch.hostsの3項目を修正し、専用ユーザー権限で起動プロセスを実行することで権 ...
5月26日 22:54 投稿
Elasticsearch 9のINFINI Consoleによる管理:監視、データ操作、クエリ実行
Elasticsearch v9.0のリリースに伴い、INFINI Console v1.29.2を使用した最新バージョン対応を検証します。マルチクラスタ対応の軽量管理プラットフォームとして、指標監視、データ管理、検索クエリ実行の各機能が正常に動作することを確認しました。
環境構築
Dockerを使用してElasticsearch 9.0を起動します。
docker run --name es9-container -p 9201:9200 -it -m 1GB ...
5月25日 01:38 投稿
JavaScriptスクリプトによる複雑なクエリ書き換えの実装
ビジネス要件として以下のようなニーズが存在します:
ゲートウェイでマルチクラスタ検索をどのようにサポートするか?実現したいのは、検索リクエストとして lp:9200/index1/_search を入力した場合、
このインデックスが3つのクラスタに存在し、クラスタ間で検索を実行したい。つまり、ゲートウェイが lp:9200/cluster01:index1,cluster02:index1,cluster03:index1/_sea ...
5月23日 19:54 投稿
ElasticsearchにおけるJavaによる効率的なページング手法
通常の検索フローでは、最初の10件を取得する場合、クライアントがノードにリクエストを送信し、各シャードが上位10件を返し、ノードがそれらを集約して最終的にトップ10を返します。
では、11件目から20件目を取得したい場合はどうすれば良いでしょうか?ここで登場するのがページング処理です。
「浅いページング」は最も単純な方法で、先頭20件を取得した後、最初の10 ...
5月21日 04:12 投稿
Elasticsearchの基本概念と実用的なセットアップガイド
Elasticsearchは、Apache Luceneを基盤とする分散型全文検索エンジンで、高速なデータ探索・分析を可能にします。REST APIを通じて操作でき、JSON形式でのデータ管理が標準です。全文検索、構造化検索、リアルタイム分析など、多様な用途に対応しています。
代表的な利用シーン
ECサイトの商品検索
ユーザーレビューの収集・表示
ログの集約・可視化
検索結果の ...
5月19日 11:06 投稿
Elasticsearch検索と統計
Elasticsearchを使ってタグ画像の統計を行ったことは昔のことになり、最近見直した際にはかなり慣れていない状態でした。現在はバージョン7.12を使用しています。かつてはTransportClientを利用していましたが、今は公式に推奨されているRestHighLevelClientを使用しています。
最近RestHighLevelClientを使ったと感じて便利だったので、いくつかの基本的な機能を記録して ...
5月18日 13:22 投稿