すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:analytic-search プラグインの使用

最終更新日:Apr 04, 2026

Alibaba Cloud Elasticsearch チームが開発した analytic-search プラグインは、ログの検索と分析のためのプラグインです。このプラグインは、Kibana Discover のクエリ高速化と同時クエリという 2 つの機能を提供します。

注意事項

analytic-search プラグインは、アンインストールできないプリインストール済みのシステムプラグインです。プラグイン設定ページで確認できます。このプラグインを使用するには、ご利用の Alibaba Cloud Elasticsearch クラスターのバージョンが 7.10.0 以降、カーネルバージョンが 1.7.0 以降である必要があります。

Kibana Discover のクエリ高速化

この機能は、インデックスマージ戦略と Date_histogram 実行計画を最適化することで、条件がない、または単一の条件を持つクエリのレイテンシーを削減します。Kibana Discover でのログ検索に最適です。

パフォーマンスベンチマーク

テスト環境:10 ノード、各ノードは 16 vCPU と 64 GB のメモリを搭載。データセットには、1 日あたり 600 億件のビジネスログドキュメントが含まれ、それぞれ 60 シャードを持つ 12 のインデックスに分散されています。

クエリ条件

標準 SSD

ウルトラディスク

OpenStore

条件なし

レイテンシーが 96% 削減

レイテンシーが 95% 削減

レイテンシーが 94% 削減

単一条件

レイテンシーが 88% 削減

レイテンシーが 77% 削減

レイテンシーが 85% 削減

複数条件

レイテンシーが 8% 削減

レイテンシーが 11% 削減

レイテンシーが 14% 削減

Kibana Discover のクエリ高速化の有効化

この機能を有効にするには、インデックスの `index.sort` 設定を構成し、タイムスタンプフィールドで降順にソートします。次の例では、フィールド名として `@timestamp` を使用しています。ご利用のデータに合わせて、フィールド名とソート順を調整してください。

PUT test_log
{
  "settings": {
    "index.points.same_sort_order_as_index_sort": true,
    "index.sort.field": [
      "@timestamp"
    ],
    "index.sort.order": [
      "desc"
    ]
  },
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      }
    }
  }
}

同時クエリ

この機能は、クエリリコールフェーズを並列で実行することで、リソース使用率を向上させ、平均レイテンシーを 50% 削減します。QPS が低く、リコールレイテンシーが高く、ノードのコンピューティングリソースが十分にあるシナリオに最適です。

パフォーマンスベンチマーク

テスト環境:3 つの OpenStore ウォーム/ホット共有コンピューティングノード、各ノードは 16 vCPU と 64 GB のメモリを搭載。データセットは、60 シャードにまたがる 60 億のドキュメントを含む、ビジネスログデータの単一の 1.6 TB インデックスです。クエリは 3 TermQuery(and) + TimeRange + Sort + Datehistogram で構成され、シャードあたり 1,000 万ヒット (ヒット率 10%) です。

テスト結果:

  • 単一シャードのクエリレイテンシーが 65% 削減されました。

  • 複数シャードのクエリレイテンシーが 53% 削減されました。

同時クエリの有効化

次のコマンドを実行して、同時クエリ機能を有効化します:

PUT _cluster/settings
{
  "persistent": {
    "apack.analytic_search.doc_concurrency.enabled": "true"
  }
}

有効化されると、新しいクエリはデフォルトの同時実行ポリシーを使用します。次のパラメーターを使用して、この動作を調整できます。

クラスターレベルの設定

パラメーター

デフォルト

説明

apack.analytic_search.doc_concurrency.enabled

false

同時クエリ機能を有効または無効にします。

apack.analytic_search.doc_concurrency.concurrent.policy

80%:4;90%:2

同時実行ポリシー。フォーマットは threshold1:concurrency1;threshold2:concurrency2 です。たとえば、80%:4;90%:2 は、CPU 使用率が 80% 未満の場合にノードが 4 の同時実行数を使用し、CPU 使用率が 90% 未満の場合に 2 の同時実行数を使用し、90% 以上では 1 (無効) を使用することを意味します。

apack.analytic_search.doc_concurrency.min_support_doc

10000

この値よりも少ないドキュメントを含むインデックスに対して、同時クエリを無効にします。

apack.analytic_search.doc_concurrency.min_support_processors

4

この値よりも少ない vCPU を持つノードで、同時クエリを無効にします。

apack.analytic_search.doc_concurrency.max_support_heap_usage

80%

JVM ヒープ使用量がこのパーセンテージを超えるノードで、同時クエリを無効にします。

apack.analytic_search.doc_concurrency.max_support_cpu_usage

90

CPU 使用率がこのパーセンテージを超えるノードで、同時クエリを無効にします。

インデックスレベルの設定

パラメーター

デフォルト

説明

index.apack.analytic_search.doc_concurrency.enabled

true

インデックスの同時クエリを有効または無効にします。