mirror of
https://github.com/elastic/eland.git
synced 2025-07-11 00:02:14 +08:00
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from elasticsearch import Elasticsearch
|
|
from elasticsearch import helpers
|
|
|
|
|
|
class Client:
|
|
"""
|
|
eland client - implemented as facade to control access to Elasticsearch methods
|
|
"""
|
|
|
|
def __init__(self, es=None):
|
|
if isinstance(es, Elasticsearch):
|
|
self._es = es
|
|
elif isinstance(es, Client):
|
|
self._es = es._es
|
|
else:
|
|
self._es = Elasticsearch(es)
|
|
|
|
def index_create(self, **kwargs):
|
|
return self._es.indices.create(**kwargs)
|
|
|
|
def index_delete(self, **kwargs):
|
|
return self._es.indices.delete(**kwargs)
|
|
|
|
def index_exists(self, **kwargs):
|
|
return self._es.indices.exists(**kwargs)
|
|
|
|
def get_mapping(self, **kwargs):
|
|
return self._es.indices.get_mapping(**kwargs)
|
|
|
|
def bulk(self, actions, refresh=False):
|
|
return helpers.bulk(self._es, actions, refresh=refresh)
|
|
|
|
def scan(self, **kwargs):
|
|
return helpers.scan(self._es, **kwargs)
|
|
|
|
def search(self, **kwargs):
|
|
return self._es.search(**kwargs)
|
|
|
|
def field_caps(self, **kwargs):
|
|
return self._es.field_caps(**kwargs)
|
|
|
|
def count(self, **kwargs):
|
|
count_json = self._es.count(**kwargs)
|
|
return count_json['count']
|