ELK/elasticsearch
elasticsearch python 주말에 정리할 것
파아랑새
2019. 3. 18. 23:28
참고 url
https://www.youtube.com/watch?v=UPkqFvjN-yI
from elasticsearch import Elasticsearch
import json
from yaml import load
class Elaserv:
def __init__(self):
self.client = Elasticsearch(hosts=Elaserv.yamlFileRead())
"""
matchall query 에 대한 함수
"""
def defaultMatchAll(self):
queryJson = open("./ddl/match-all.json", "r")
query = json.load(queryJson)
result = self.client.search(index="hex_color_list", body=query)
with open("./resultJson/test.json", "w", encoding="utf-8") as f:
json.dump(result, fp=f, ensure_ascii=False, indent=3)
f.close()
queryJson.close()
"""
"""
def defualTermQuery(self):
queryJson = open("./ddl/term-query.json", "r")
query = json.load(queryJson)
result = self.client.search(index="hex_color_list", body=query)
with open("./resultJson/termQueryResult.json", "w", encoding="utf-8") as f:
json.dump(result, fp=f, ensure_ascii=False, indent=3)
f.close()
queryJson.close()
def defualMatchQuery(self):
queryJson = open("./ddl/match-query.json", "r")
query = json.load(queryJson)
result = self.client.search(index="hex_color_list", body=query)
with open("./resultJson/matchQueryResult.json", "w", encoding="utf-8") as f:
json.dump(result, fp=f, ensure_ascii=False, indent=3)
f.close()
queryJson.close()
@classmethod
def yamlFileRead(cls):
try:
f = open("./element/info.yaml", "r")
except FileNotFoundError as e:
print (e)
f.close()
exit(1)
else:
ip = dict(load(f.read())).get("ip")
f.close()
return ip
def main():
elnode = Elaserv()
# elnode.defaultMatchAll()
# elnode.defualTermQuery()
elnode.defualMatchQuery()
if __name__ == "__main__":
main()
"""
curl -X GET 'localhost:9200/hex_color_list/_search?pretty' -H 'Content-Type: application/json' -d '
{
"query": {
"match_all": {}
}
}
'
"""
{
"query": {
"match": {
"name": "add8e6"
}
}
}