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"
}
}
}