ES-Indexer (Elasticsearch Indexer)는 Python으로 작성된 간단한 동시 명령 줄 도구로 일부 JSON 데이터를 Elasticsearch로 빠르게 채우는 데 도움이됩니다.
일반적으로 타사 소프트웨어 또는 클라이언트 라이브러리를 사용하여 데이터를 elasticsearch에 색인하고 실제로 시간이 많이 걸리고 피곤할 수 있습니다 ( 기침 Logstash 기침 ). ES-Indexer는 멀티 스레딩의 도움으로 *.json 문서의 원시 내용을 빠르게 색인화하는 데 도움이됩니다.
ES-Indexer는 현재 데이터 동기화를 제공하지 않으며 데이터가 변경되면 데이터를 다시 표시해야하지만 항상 새 인덱스를 채우고 별명을 생성하면 새 인덱스가 완전히 채워질 때까지 기존 데이터가 표시되면서 이전 데이터가 표시됩니다. 향후 업데이트에는 동기화가 포함될 수 있습니다.
Elasticsearch는 포트 9200에 REST-API를 노출시키기 때문에 ES- 인덱서가 REST-API 자체를 제공 할 필요가 없습니다.
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
구성 파일에서 사용자 정의 매핑을 제공 할 수 있으며 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)
저작권 (C) 2019 Rounak Vyas