[英]elastic search multiple indexes bulk import
我正在嘗試將包含多個工作表的 multiple.xlsx 文件中的數據導入到彈性搜索中。 我的過程是這樣的:
RequestError: RequestError(400, 'action_request_validation_exception', 'Validation Failed: 1: index is missing;2: type is missing;
任何人都可以指出一個循環遍歷多個文件和多個工作表的示例嗎?
helpers.bulk
期望的第二個參數是一系列應該如下所示的操作:
{
'_index': 'index-name',
'_type': '_doc',
'_id': 42,
'_source': {
"title": "Hello World!",
"body": "..."
}
}
你需要:
_index
: 索引文檔的索引名稱_type
: 必須是_doc
(這將在版本 8 中消失)_id
: 文檔的 ID_source
:您要索引的文檔的實際內容。 確保檢查您的create_json
function 是否正在添加所有這些參數。
更新:
看你的代碼...
為什么要調用list_of_json()
和get_data_from_file()
兩次? 只需要第二次調用
list_of_json()
json_names = list_of_json()
...
get_data_from_file(json_names)
data = get_data_from_file(json_names)
然后在bulk_json_data
你需要改變我突出顯示的行
def bulk_json_data(json_names):
for m in json_names:
for doc in m:
actions = [
{'_index': doc,
'_type': '_doc', <--- change this line
'_id':uuid.uuid4(),
'_source': data}
]
return actions
但是您還需要傳入傳遞給_source
變量的data
,否則您將不會索引任何內容...我懷疑您需要為json_names
中的每個文件調用get_data_from_file()
並且您獲得的數據必須是傳遞到bulk_json_data
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.