0
私は、インデックスが作成されたときや誰(自分の組織のユーザー名)など、少しのメタデータを保存したいと思います。 ElasticsearchのAWSバージョンがどのようにロックされているかを考慮して、これを行う簡単な方法はありますか?AWS Elasticsearchインスタンスに「コメント」を保存するにはどうすればよいですか?
私は、インデックスが作成されたときや誰(自分の組織のユーザー名)など、少しのメタデータを保存したいと思います。 ElasticsearchのAWSバージョンがどのようにロックされているかを考慮して、これを行う簡単な方法はありますか?AWS Elasticsearchインスタンスに「コメント」を保存するにはどうすればよいですか?
文書にフィールドを追加することはできますか?ユーザーを知り、ドキュメントを取得して時間を取得し、メタデータをドキュメントに追加し、ドキュメントを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"}'
を私は、Pythonに慣れていないよ(私はノードを使用しています)が、私は仮定すると、ユーザー名と日付と私のインデックス内のすべての文書にフィールドを追加しているのですか? – Jared
それは遊びです... – kpie
すべての文書のために余分なフィールドをすべて格納するのではなく、自分のメタデータ専用の新しいインデックスを作成する方が良いのではないでしょうか? – Jared