2016-08-23 17 views

回答

1

您是否打開添加字段到文檔?使用知道用戶並獲取文檔並獲取時間的腳本相當簡單,將元數據添加到文檔並繼續將文檔添加到ES庫。

例如下面的代碼工作,只要你的數據不包含任何雙引號或引用:真:虛假或:無::

# coding: utf-8 
true = True 
false = False 
null = None 

import sys 

inDoc = sys.argv[1] 

#print inDoc 
parts = inDoc.split(".") 
if(parts[len(parts)-1].lower()=="json"): 
    with open(inDoc,"r") as INDOC: 
     doc = INDOC.read() 
else: 
    doc = inDoc 

del inDoc 

pyDoc = eval(doc) 

del doc 

pyDoc["#Creator"] = "<Your_Name>" 
import time 
import datetime 
pyDoc["#CreatedAt"] = str(datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')) 

doc = str(pyDoc) 

del pyDoc 

esDomain = "search-movies-4f3nw7eiia2xiynjr55a2nao2y.us-west-1.es.amazonaws.com/movies/movie/tt0116996" 

import os 
command = "curl -XPUT "+esDomain+" -d '"+str(doc).replace(": True",": true").replace(": False",": false").replace(": None",": null").replace("'",'"')+"'" 

del doc 
del esDomain 

#print (command) 
os.system(command) 

del command 

你將有你希望文檔添加保存as newDoc.json並運行以下命令:

python AddWithStamps.py ./newDoc.json 

導航到文檔的目錄後。另外,您可以運行:

python AddWithStamps.py '{"Some": "Document"}' 
+0

我不熟悉Python(我使用節點),但我認爲什麼是你添加一個字段的每一個文檔中我的索引的用戶名和日期? – Jared

+0

就是這樣... – kpie

+0

爲我的元數據創建一個專用於索引的新索引,而不是爲每個文檔存儲整個額外字段不是更好嗎? – Jared