PythonからElasticsearchにアクセスする

PythonからElasticsearchに接続する プログラミング

Elasticsearchの開発元が、ライブラリを公開しています。
elasticsearchというパッケージ名です。

大文字が小文字に変わっただけの名になります。
この記事では、elasticsearchのインストールを中心に解説します。

本記事の内容

  • elasticsearchとは?
  • elasticsearchのシステム要件
  • elasticsearchのインストール
  • elasticsearchの動作確認

それでは、上記に沿って解説していきます。

elasticsearchとは?

elasticsearchとは、Elasticsearchの公式ローレベルクライアントです。
ここでのローレベルとは、プログラムレベルということでしょう。

そして、elasticsearchはPythonライブラリとして公開されています。
公式ということで、安心して利用することができます。
放置されたままのライブラリが、多いですからね。

公式ということもあり、ドキュメントも常時更新されています。

elasticsearchの公式ドキュメント
https://elasticsearch-py.readthedocs.io/

以上、elasticsearchについて説明しました。
次は、elasticsearchのシステム要件を確認します。

elasticsearchのシステム要件

現時点(2021年6月)でのelasticsearchの最新バージョンは、7.13.1となります。
この最新バージョンは、2021年6月3日にリリースされています。

elasticsearchのシステム要件は、以下の3つを確認しましょう。

  • サポートOS
  • Pythonのバージョン
  • Elasticsearchのバージョン

サポートOS

サポートOSに関しては、以下を含むクロスプラットフォーム対応となります。

  • Windows
  • macOS
  • Linux

Pythonが動くなら、どんなOSでも問題なさそうです。

Pythonのバージョン

サポート対象となるPythonのバージョンは以下。

  • Python 2.7
  • Python 3.4
  • Python 3.5
  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

これまた、かなり広い範囲に対応しています。
個人的には、古いバージョンは切り捨てるべきだと思います。
互換性を維持するために、不要なコードも多いはずです。

Pythonには、公式開発サイクルが存在しています。
現在の公式開発サイクルは、以下。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

この公式開発サイクルに準じていれば、ライブラリとして十分です。
それを基準とすれば、Python 3.6以降へのサポートで問題ありません。

Elasticsearchのバージョン

Elasticsearchのバージョンには、注意です。
基本的には、同じメジャーバージョンを使わないといけません。

Elasticsearch 7系であれば、elasticsearchも7系ということです。
Elasticsearchのリリースに合わせて、elasticsearchもリリースされています。

したがって、バージョンは合わせた方がいいでしょう。
Elasticsearch自体のインストールは、次の記事で解説しています。

今回は、Elasticsearch 7.13.1をインストール済み。
よって、同じバージョンのelasticsearch 7.13.1をインストールします。

以上、elasticsearchのシステム要件についての説明でした。
次は、elasticsearchをインストールします。

elasticsearchのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.1.2
setuptools 57.0.0

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、elasticsearchのインストールです。
elasticsearchのインストールは、以下のコマンドとなります。

pip install elasticsearch

インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package       Version
------------- ---------
certifi       2021.5.30
elasticsearch 7.13.1
pip           21.1.2
setuptools    57.0.0
urllib3       1.26.5

それほど依存関係のあるパッケージは、多くありません。
比較的容易に様々な環境にインストールできるでしょう。

以上、elasticsearchのインストールについての説明でした。
最後は、elasticsearchの動作確認を行います。

elasticsearchの動作確認

elasticsearchの動作確認を行いましょう。
動作確認は、次のコードで行います。

from elasticsearch import Elasticsearch

# Elasticsearch接続
es = Elasticsearch("http://localhost:9200/")

# データ登録
es.index(index="test",
         doc_type='_doc',
         id=1,
         body={"key": "100", "value": "elasticsearchのテスト"})

# データ取得
res = es.get(index="test",
             doc_type='_doc',
             id=1)['_source']

print(res)

# 接続を閉じる
es.close()

処理は、コメントに書いた通りです。
上記コードを実行した結果は、以下。

{'key': '100', 'value': 'elasticsearchのテスト'}

上記のような結果が表示されれば、動作確認はOKです。
なお、上記はElasticsearchがインストールされたサーバー上で実行しています。

以上、elasticsearchの動作確認についての説明でした。

タイトルとURLをコピーしました