说明
ES和接口服务做好,现在就可以把之前的文档(主要是md)都批量上传。这个函数主要是提取一个文档下md文件的列表文件,经过简单加工就可以存入es。
内容
函数内容
import os
# 给定一个文件夹,读取指定后缀(默认md)文件的内容。返回字典列表ListOfElements
def read_doc_for_es(some_folder ='./', suffix = '.md'):
res_list = []
cand_list = os.listdir(some_folder)
cand_list1 = [x for x in cand_list if x.endswith(suffix)]
# 如果cand_list1有才会循环,只有循环时才会附加结果
for x in cand_list1:
tem_dict = {}
with open(some_folder + x ,'r') as f:
tem_dict['title'] = x
tem_dict['content'] = f.read()
tem_dict['meta'] = some_folder
res_list.append(tem_dict)
return res_list
使用
In [5]: read_doc_for_es(some_folder=test_path)
Out[5]:
[{'title': 'doc_004接口文档_表格ocr接口.md',
'content': '# 接口文档(表格ocr)v1\n\n---\n\n> 本接口的作用是以实时的方式对输入的数据进行表格ocr,即:通过接口提交要解析的数据,即时返回结果。\n\nNote:本接口是基于无边框的表格(白底黑字)开发的,对有非标的表格识别准确率会有所下降。\n\n## 1 请求地址\n\n\n- POST 主地址\n + 1 解析无边
....
由于es暂不提供外网端口,所以先执行rsync命令,将文件先增量同步到对应的主机再通过这个函数读取后写入。