神戸学院大学 経営学部 林坂ゼミ

Docker 入門トップページ

« 戻る 次へ »

Docker 入門

Elasticsearch で全文検索を実行する(Windows PowerShell 7 版)

コマンドプロンプトでの利用

コマンドプロンプトでもある程度は Elasticsearch の検索などの操作は可能です.しかしながら,このページで示すとおりコマンドの見通しが悪くなるため,PowerShell 7 の利用を推奨します.

まず,API キーをシェル変数 MYAPIKEY に格納しますが,次のようなコマンドでキーを格納する方法が一般的でしょう.API キーは .env ファイルからコピーしてください.

C:\...\elastic202511>echo %MYAPIKEY% ⏎
%MYAPIKEY%

C:\...\elastic202511>set MYAPIKEY=NlZGY3pwb0IyT1FPR1RNREtrRlc6WG1VUmZnVnYxSmYyMlpFMDQwTHJ6UQ== ⏎

C:\...\elastic202511>echo %MYAPIKEY% ⏎
NlZGY3pwb0IyT1FPR1RNREtrRlc6WG1VUmZnVnYxSmYyMlpFMDQwTHJ6UQ==

C:\...\elastic202511>

続いて,Elasticsearch への接続確認を行います.シェル変数の指定方法が PowerShell と異なる程度です.

C:\...\elastic202511>curl -H "Authorization: ApiKey %MYAPIKEY%" "http://localhost:9200/?pretty" ⏎
{
  "name" : "64a6250ff75e",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "eV0E_uSCRPSQH0_NXae1hA",
  "version" : {
    "number" : "9.2.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "4ad0ef0e98a2e72fafbd79a19fa5cae2f026117d",
    "build_date" : "2025-11-06T22:07:39.673130621Z",
    "build_snapshot" : false,
    "lucene_version" : "10.3.1",
    "minimum_wire_compatibility_version" : "8.19.0",
    "minimum_index_compatibility_version" : "8.0.0"
  },
  "tagline" : "You Know, for Search"
}

C:\...\elastic202511>

ドキュメントの登録件数を確認します.これも問題なく動作します.

C:\...\elastic202511>curl -H "Authorization: ApiKey %MYAPIKEY%" "http://localhost:9200/hyaku_index/_count?pretty" ⏎
{
  "count" : 100,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  }
}

C:\...\elastic202511>

例えば「君がため」というキーワードで全文検索を行います.次のとおり,コマンドプロンプトでは '' を利用できないことから,' の代わりに " をエスケープして \" と入力しなければなりません.

curl -H "Authorization: ApiKey %MYAPIKEY%" --json "{ \"query\": { \"match\": { \"uta\": \"君がため\" } } }" "http://localhost:9200/hyaku_index/_search?pretty"

実際にコマンドを入れて実行すると正しく検索できましたが,コマンドの見通しが悪くなることから,PowerShell の利用を推奨します.

C:\...\elastic202511>curl -H "Authorization: ApiKey %MYAPIKEY%" --json "{ \"query\": { \"match\": { \"uta\": \"君がため\" } } }" "http://localhost:9200/hyaku_index/_search?pretty" ⏎
{
  "took" : 2,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 4.3454294,
    "hits" : [
      {
        "_index" : "hyaku_index",
        "_id" : "gFGHzpoB2OQOGTMD10JU",
        "_score" : 4.3454294,
        "_source" : {
          "id" : "50",
          "uta" : "君がため 惜しからざりし 命さへ 長くもがなと 思ひけるかな",
          "kana" : "きみがため をしからざりし いのちさへ ながくもがなと おもひけるかな",
          "kajin" : "藤原義孝"
        }
      },
      {
        "_index" : "hyaku_index",
        "_id" : "XVGHzpoB2OQOGTMDtEJd",
        "_score" : 3.3278084,
        "_source" : {
          "id" : "15",
          "uta" : "君がため 春の野に出でて 若菜つむ わが衣手に 雪はふりつつ",
          "kana" : "きみがため はるののにいでて わかなつむ わがころもでに ゆきはふりつつ",
          "kajin" : "光孝天皇"
        }
      }
    ]
  }
}

C:\...\elastic202511>

なお,文字化けが発生する場合はここを参考に chcp 65001 コマンドを実行してください.

目次に戻る