ES-Indexer (Elasticsearch Indencer)は、Pythonで書かれた単純な同時コマンドラインツールであり、JSONデータをElasticSearchにすばやく入力するのに役立ちます。
通常、サードパーティのソフトウェアまたはクライアントライブラリを使用して、データをElasticSearchにインデックス化する必要があります。 ES-Indexerは、マルチスレッドの助けを借りて、 *.jsonドキュメントの生の内容のインデックス作成に役立ちます。
ES-Indexerは現在、データの同期を提供していません。データが変更された場合は、常に新しいインデックスを入力してからエイリアスを作成する必要があります。新しいインデックスが完全に入力されるまで再インデックスしながら古いデータが存在します。将来の更新には、同期が含まれる場合があります。
ElasticSearchはポート9200でREST-APIを公開しているため、REST-API自体を提供するES-Indexerは必要ありません。
Python 3.xが必要であり、ElasticSearch 7.xxと互換性があります
$ pip install es-indexer
(または)
リポジトリをクローンします。
$ git clone https://github.com/itsron717/es-indexer.git
リポジトリの中に移動します。
$ cd es-indexer
パッケージをローカルにインストールします。
$ pip install .
ES-Indexerを実行する前に、 config.ymlを作成する必要があります。
host: http://127.0.0.1:9200
index: twitter-example
type: documents
mapping:
settings:
number_of_shards: 1
number_of_replicas: 0
Configファイルでカスタムマッピングを提供できます。ES-Indexerは、YAMLマッピング1:1をJSONに変換します。
$ es-indexer --config path/to/config/file --source path/to/json/folder
SQL 、 Filesystemなどのjson以外のより多くのデータソースも、ES-Indexerツールに追加され、ElasticSearchのすべてのインデックス作成ニーズに合わせてワンストップショップになることができます。他のデータソースの統合に貢献したい人なら誰でも、上げて発行することができ、私たちはそれに取り組み始めることができます!
jsonサポートを追加します。 SQLデータソースの統合を追加します。 FileSystemデータソースの統合を追加します。 ES-Indexerは、Goで書かれたこの驚くべきツールのインサイピングを使用して構築されました。
MITライセンス(MIT)
Copyright(c)2019 Rounak Vyas