ES和Mysql对应关系关
es = Elasticsearch(["127.0.0.1"], http_auth=('es_service', ''), port=9200)
def index(database, table, id, doc):
return es.index(index=database, doc_type=table, body=doc)
def create(database, table, id, body):
return es.create(index=database, doc_type=table, id=id, body=body)
def deleted(database, table, id):
return es.delete(index=database, doc_type=table, id=id)
def deleted_index(database):
return es.indices.delete(index=database, ignore=[400, 404])
def update(database, table, id, body):
return es.update(index=database, doc_type=table, id=id, body=body)
def select_by_id(database, table, id):
return es.get(index=database, doc_type=table, id=id)['_source']
def search(database, table, query):
return es.search(index=database, doc_type=table, body=query)['hits']['hits']
def delete_by_query(database, table, query):
return es.delete_by_query(index=database, doc_type=table, body=query)
def batch_add(actions):
printhelpers.bulk(client=es, actions=actions)
if __name__ == '__main__':
body = {'id': 1, 'lv_id': 12, 'sentiment': 0, 'news_id': 1673590, 'review': '123',
'keyword': '受不了 错字连篇', 'ner': '', 'test_id': 'X3eRQnoBptFMHoC6cLwP'}
database = 'test_index'
table = 'type'
id = body['test_id']
batch_data_list = [body]
resp = index(database, 'type', id, body)
print('es操作result', resp)
resp = deleted(index, 'review_feature', doc['news_id'])
levels = ['info', 'debug', 'warn', 'error']
action = [{
"_index": database,
"_type": table,
"_source": {
"title": i
}
} for i in range(100)]
resp = batch_add(action)
resp = create(database, 'type', id, body)
resp = deleted_index(database )
update_body = {"doc": body}
resp = update(database, 'type', id, update_body)
resp = select_by_id(database, table, id)
query = {'query': {'range': {'age': {'lt': 11}}}}
query = {'query': {'term': {'review': '123'}}}
query = {'query': {'match': {'review': '123'}}}
resp = delete_by_query(database, table, query)
resp = search(database, table, query)
print(es.info())
print('es操作result', resp)