Elastic Search’te Python SDK ile Temel İşlemler

Genellikle Örnekler Kibana ve Dümdüz RestApi üzerinden verilmiş ancak ben direkt derli toplu Python kodu olarak kullanmayı tercih ediyorum.

from elasticsearch import Elasticsearch
es = Elasticsearch()

İndis oluşturmak

es.indices.create("indexismi")
request_body = {
"settings" : {
"number_of_shards": 1,
"number_of_replicas": 1}
}
es.indices.create("indexismi",request_body)
es.indices.delete("indexismi")

Document Eklemek

Document ekleme işlemi için body objesi gereklidir. Ekleme işlemi şu şekilde yapılır:

doc = {
'tur': 'olumlu',
'text': 'Çok Doğru Söylüyorsunuz.',
'timestamp': datetime.now(),
}
es.index(index="indexismi",body=doc)
es.index(index="indexismi",body=doc,id=14)

Document Getirmek

es.get(index="indexismi",id=14) 
result=es.get(index="indexismi",id=14)
result["_source"]

Documentleri Değiştirmek (Update)

es.update(index="indexismi",id=14,body={
"doc":{
"text":"Söylediklerinizden Etkilendim."
}
})
es.update(index="indexismi",id=14,body={
"doc":{
"diger":144
}
})

Documentleri Silmek

Artık alıştığımız üzere es.delete ile işlemi gerçekleştirmekteyiz:

es.delete(index="indexismi",id=15)
sonuc=es.search(index="indexismi", body={"query":{"match":{"text":"Etkilendim"}}})
{'_shards': {'failed': 0, 'skipped': 0, 'successful': 1, 'total': 1},
'hits': {'hits': [{'_id': '14',
'_index': 'indexismi',
'_score': 0.75491273,
'_source': {'diger': 144,
'text': 'Söylediklerinizden Etkilendim.',
'timestamp': '2019-11-27T17:26:51.873573',
'tur': 'olumlu'},
'_type': '_doc'}],
'max_score': 0.75491273,
'total': {'relation': 'eq', 'value': 1}},
'timed_out': False,
'took': 0}
ilk=result["hits"]["hits"][0]

Computer Engineer,Sociologist, CSE Master Student

Computer Engineer,Sociologist, CSE Master Student