zoukankan      html  css  js  c++  java
  • Elasticsearch Python API

    创建索引、插入数据

    import json
    from datetime import datetime
    from elasticsearch import Elasticsearch
    # 连接elasticsearch,默认是9200
    es = Elasticsearch(hosts='10.240.1.103')
    # 创建索引,索引的名字是my-index,如果已经存在了,就返回个400,
    # 这个索引可以现在创建,也可以在后面插入数据的时候再临时创建
    es.indices.create(index='my-index')
    # {u'acknowledged':True}
    # 插入数据
    es.index(index="my-index", doc_type="test-type", id=1, body={"any": "data", "timestamp": datetime.now()})
    # {u'_type':u'test-type',u'created':True,u'_shards':{u'successful':1,u'failed':0,u'total':2},u'_version':1,u'_index':u'my-index',u'_id':u'1}

    检索数据

    # get获取
    res = es.get(index="my-index", doc_type="test-type", id=1)
    print(json.dumps(res,indent=4))
    """
    {
        "_index": "my-index",
        "found": true,
        "_source": {
            "any": "data01",
            "timestamp": "2017-09-05T15:06:53.599863"
        },
        "_id": "1",
        "_version": 3,
        "_type": "test-type"
    }
    """
    # search获取
    res = es.search(index="test-index", body={"query": {"match_all": {}}})
    print(json.dumps(res,indent=4))
    """
    {
        "_shards": {
            "successful": 5,
            "total": 5,
            "failed": 0
        },
        "timed_out": false,
        "took": 2,
        "hits": {
            "total": 1,
            "hits": [
                {
                    "_source": {
                        "any": "data",
                        "timestamp": "2017-09-05T15:01:54.780318"
                    },
                    "_index": "test-index",
                    "_type": "test-type",
                    "_id": "42",
                    "_score": 1.0
                }
            ],
            "max_score": 1.0
        }
    }
    """
    res = es.search(index="test-index", body={'query': {'match': {'any': 'data'}}})  # 获取any=data的所有值
    print(json.dumps(res,indent=4))
    """
    {
        "hits": {
            "hits": [
                {
                    "_score": 0.2876821,
                    "_type": "test-type",
                    "_id": "42",
                    "_index": "test-index",
                    "_source": {
                        "any": "data",
                        "timestamp": "2017-09-05T15:01:54.780318"
                    }
                }
            ],
            "max_score": 0.2876821,
            "total": 1
        },
        "timed_out": false,
        "_shards": {
            "failed": 0,
            "total": 5,
            "successful": 5
        },
        "took": 6
    }
    """
  • 相关阅读:
    Linux简介
    在VMware上安装Ubuntu软件步骤与遇到的相关问题及解决方案
    深度学习框架之TensorFlow的概念及安装(ubuntu下基于pip的安装,IDE为Pycharm)
    Windows下安装Python及Eclipse中配置PyDev插件
    结构体定义struct和typedef struct
    定义与声明
    error LNK2005:错误改正方法
    OPENCV 笔记
    RANSANC算法
    梯度下降法和牛顿法
  • 原文地址:https://www.cnblogs.com/hanqian/p/7531596.html
Copyright © 2011-2022 走看看