我想运行以下代码将 json 文件放入我的 ubuntu 18.04 虚拟机上的 elasticsearch 中:
import requests, json, os
from elasticsearch import Elasticsearch
directory = '/home/mk/my_json_files/'
res = requests.get('http://localhost:9200')
print (res.content)
es = Elasticsearch([{'host': 'localhost', 'port': '9200'}])
i = 1
print(os.listdir(directory))
for filename in os.listdir(directory):
if filename.endswith(".json"):
f = open(filename)
docket_content = f.read()
# Send the data into es
es.index(index='myindex', ignore=400, doc_type='docket', id=i, body=json.loads(docket_content))
i = i + 1
但不幸的是,当我运行它时,它显示了一个错误:
b'{\n "name" : "mk-VirtualBox",\n "cluster_name" : "elasticsearch",\n "cluster_uuid" : "Xs1ITjiaRcWCo35qDBNvOA",\n "version" : {\n "number" : "7.10.1",\n "build_flavor" : "default",\n "build_type" : "deb",\n "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",\n "build_date" : "2020-12-05T01:00:33.671820Z",\n "build_snapshot" : false,\n "lucene_version" : "8.7.0",\n "minimum_wire_compatibility_version" : "6.8.0",\n "minimum_index_compatibility_version" : "6.0.0-beta1"\n },\n "tagline" : "You Know, for Search"\n}\n'
['stocks_data.json']
Traceback (most recent call last):
File "/home/mk/PycharmProjects/importing_json_files_into_elasticsearch/importing_json_files.py", line 16, in <module>
f = open(filename)
FileNotFoundError: [Errno 2] No such file or directory: 'stocks_data.json'
奇怪的是,在第二行它告诉我他找到了我的带有股票值的 json 文件。但他无法打开它。我用
更改了python文件和json文件的属性chmod 777 file_name
但这没有帮助。