一、安装库

  • 包名:elasticsearch

  • 下载命令

    • 普通版本:python -m pip install elasticsearch
    • 异步版本:python -m pip install elasticsearch[async]

二、创建es对象

  • Elasticsearch():实例化es对象

    • host:IP地址
    • port:端口号
    • timeout:超时时间
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    

二、创建索引

  • es.indices.create():创建索引

    • index:要新创建的索引
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    # 创建一个索引为test的索引
    es.indices.create(index='test')
    

三、删除索引

  • es.indices.delete():删除索引

    • index:要删除的索引
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    # 删除索引为test的索引
    es.indices.delete(index='test')
    

四、插入数据

  • es.index():插入数据

    • index:要插入数据的索引
    • id:要插入数据的ID值
    • body:要插入的数据(不提倡)
    • document:要插入的数据(提倡)
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    # 在test索引id为1的位置插入一条数据
    es.index(index='test',
             id=1,
             body={"id":'1',"name":"小明"})
    
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    doc = {
        'name': '方天',
        'age': '23'
    }
    # 在test索引id为2的位置插入一条数据
    es.index(index='test', id='2', document=doc)
    
  • es.create():插入数据,可以不指定id,create会自动添加id

    • index:要插入数据的索引
    • id:要插入数据的ID值
    • body:要插入的数据(不提倡)
    • document:要插入的数据(提倡)
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    doc = {
        'name': '杨晨',
        'age': '22'
    }
    # 在test索引id为3的位置插入一条数据
    es.create(index='test',id='3', document=doc)
    

五、删除数据

  • es.delete():删除指定数据

    • index:要删除数据的索引
    • id:要删除数据的id
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    # 删除test索引id为3的数据
    es.delete(index='test',id='3',doc_type='_doc')
    

六、更新数据

  • es.update():更新指定字段

    • index:要更新的索引
    • id:要更新的id
    • doc:要更新的数据
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    doc = {
        'name': '李邱俊',
        'age': '20'
    }
    # 将test索引id为2的数据更新为新数据
    es.update(index='test',id='2',doc=doc)
    

六、查询操作

  • es.get():查询数据

    • index:要查询数据的索引
    • id:要查询数据的id
    from elasticsearch import Elasticsearch
    
    # 实例化一个ip为localhost,端口为9200,允许超时一小时的es对象
    es = Elasticsearch(hosts="localhost",port=9200,timeout=3600)
    # 查询test索引id为1的数据
    es.get(index='test',id='1')
    

更多高级操作请查看>>>>Python ElasticSearch一站式教程(高级操作篇)

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐