python调用elasticsearch的常用命令

调用Python中的elasticsearch库对ES进行操作。
1.安装

pip install elasticsearch
  1. 导入
from elasticsearch import Elasticsearch, helpers

3.连接

es = Elasticsearch(hosts=es_host,port=port,timeout=100)
es.ping() #验证是否连接成功

4.操作

#创建索引,若存在即忽略
#指定建立的类型,所用分词器,是否建立索引等,即预先定义好字段
body = {
    'mappings': {
            'properties': {
                'uuid':{
                    'type':'keyword',
                    'index':'true'
                    },
                'url':{
                    'type':'text',
                    'index':'false'
                    },
                'title': {
                    'type': 'text',
                    'index':'true',
                    'analyzer': 'ik_max_word',
                    'search_analyzer':'ik_max_word'
                    },
                'text':{
                    'type': 'text',
                    'index':'true',
                    'analyzer': 'ik_max_word',
                    'search_analyzer':'ik_max_word'
                    }
                }
            }
        }   
es.indices.create(index='test',ignore=400,body=body)
#插入数据
actions={
        'uuid':data_id,
        'url':data_url,
        'title':data_title,
        'text':data_text
        }  
es.index(index="test",body = actions)
#按照索引搜索,指定返回数目,返回为字典。body的写法需要注意,形式较多。
body_query = {
    "query":{
        "match":{
            "text":"运动"
        }
    }
} 
nnn=es.search(index="test",size='200')
# 按条件查询数目
query_str={'query':{'match':{'cgdsId': cgds_code}}}
total_num_data= es.count(index=index, body=query_str)['count']
#更新
es.update(index='file',id=file_id,body=info_body,doc_type="search")
#设置、获取数据结构类型
mapping = {
        'properties': {
            "date": {
                "type":   "date",
                "format": "yyyy-MM-dd"
                }
      }
}
es.indices.put_mapping(index='test_2',body=mapping)
es.indices.get_mapping(index='test')

你可能感兴趣的:(PYTHON,elasticsearch)