나는 merged_file 1.json, merged_file 2. json 등으로 이름이 지정된 많은 JSON 파일 (100)을 가지고있다.색인 elastic search에서 JSON 파일은 파이썬을 사용하고 있습니까?
어떻게 파이썬 (elasticsearch_dsl)을 사용하여 elasticsearch로 이러한 모든 파일을 색인화합니까?
은이 코드를 사용하고 있지만, 작동하지 않는 것 :
from elasticsearch_dsl import Elasticsearch
import json
import os
import sys
es = Elasticsearch()
json_docs =[]
directory = sys.argv[1]
for filename in os.listdir(directory):
if filename.endswith('.json'):
with open(filename,'r') as open_file:
json_docs.append(json.load(open_file))
es.bulk("index_name", "type_name", json_docs)
json으로는 다음과 같습니다
{"one":["some data"],"two":["some other data"],"three":["other data"]}
나는 이것이 올바른 만들기 위해 무엇을 할 수 있는가?
from elasticsearch import Elasticsearch, helpers
import sys, json
es = Elasticsearch()
def load_json(directory):
" Use a generator, no need to load all in memory"
for filename in os.listdir(directory):
if filename.endswith('.json'):
with open(filename,'r') as open_file:
yield json.load(open_file)
helpers.bulk(es, load_json(sys.argv[1]), index='my-index', doc_type='my-type')
당신이 jsondocs의 모습을 어떻게 보여줄 수 : 사용 당신이해야이 작업
elasticsearch-py
(pip install elasticsearch
)에 대한 –각 문서 앞에 명령 줄이 없습니다. 자세한 내용은 [여기] (https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-bulk)를 참조하십시오. – Val
@BhargaviSri - 추가됨 – anshaj