首页 > 编程语言 >python 操作 ES 二、mappings

python 操作 ES 二、mappings

时间:2023-02-23 18:22:15浏览次数:44  
标签:body index mappings python py4 ES print es

环境 python:3.8 es:7.8.0

环境安装

pip install elasticsearch==7.8.0

 

 

from elasticsearch import Elasticsearch

#环境 python:3.8  es:7.8.0
#环境安装
#pip install elasticsearch==7.8.0

#1、创建ES对象,创建连接
es = Elasticsearch(['127.0.0.1:9200'],ignore=[400, 405, 502])
print('---------------1--------------------------')


#result=es.indices.create(index="py4",ignore=400)

mappings = {
	"mappings": {
            "properties": {
                "age": {
                    "type": "long"
                },
                "name": {
                    "type": "keyword"
                },
                "note": {
                    "type": "text"
                }
            }
        }
}
#删除索引
# es.indices.delete(index='py4')
# #创建索引 并带mappings
# es.indices.create(index='py4', body=mappings)
#查看索引的mappings
print(es.indices.get_mapping(index='py4'))

#创建一个没有mappings的索引
# es.indices.create(index="user",ignore=400)
# print(es.indices.get_mapping(index='user'))


print(es.index(index='py4', doc_type='_doc', id='1', body={"name":"可可", "age": 18,"note":"你好啊"}))    # 正常

#1、long数据类型查询
body = {
  "query": {
    "match": {
       "age": 18
    }
  }
}
print('-------1---------')
print(es.search(index='py4',   body=body))

#2、关键字查询
body1 = {
  "query": {
    "match": {
       "name": "可可"   #查询 可可 有返回数据
    }
  }
}
print('-------2-1---------')
print(es.search(index='py4',   body=body1))

body2 = {
  "query": {
    "match": {
       "name": "可"   #查询 可 没有返回数据
    }
  }
}
print('-------2-2---------')
print(es.search(index='py4',   body=body2))

#3、text查询  可以实现模糊查询说明已经分词了
body3 = {
  "query": {
    "match": {
       "note": "你好啊"   #查询 你好啊 有返回数据
    }
  }
}
print('-------3-1---------')
print(es.search(index='py4',   body=body3))

body4 = {
  "query": {
    "match": {
       "note": "你好"   #查询 你好 有返回数据
    }
  }
}
print('-------3-2---------')
print(es.search(index='py4',   body=body4))

 

标签:body,index,mappings,python,py4,ES,print,es
From: https://www.cnblogs.com/yclh/p/17149012.html

相关文章

  • python next() iter()使用
    说明:next()、iter()这两个函数一般配套使用。下面先介绍用法,后说明用途。用法:iter(object):生成可迭代对象的迭代器;object必须是可迭代对象,比如list、tuple、dict等;next(i......
  • SSRF Server-Side Request Forgery(服务器端请求伪造)
    什么是SSRF?犹如其名,SSRF(Server-SideRequestForgery)服务端请求伪造,攻击者可以控制服务器返回的页面,借用服务器的权限无访问无权限的页面。这是一个允许恶意用户导致......
  • k8s部署wordpress
    nginxnginx.confserver{listen80;server_namelocalhost;location/{root/apps/nginx/wordpress;indexindex.phpind......
  • 银河麒麟V10系统的 postgresql/postgis完整部署
    一、posgresql部署1、安装前可以先进行用户以及用户组的配置,方便后面进行授权(通过编译安装也需要,后续步骤会体现)。用户配置#新增用户组groupaddpostgres#创建用户......
  • cesium 颜色赋值
     constline2=newCesium.Primitive({      geometryInstances:newCesium.GeometryInstance({        geometry:newCesium.Polyline......
  • keycloak~LB到Ingress再到K8s的路径问题
    问题的产生对于我们的容器化部署项目keycloak来说,当它从云端负载均衡LB直接通过NodePort转发到keycloak时,没有任务问题,一切正常;缺点就是,运维人员要维护一大批端口,哪个端......
  • vue 中对监听esc事件,退出全屏的问题解决
    vue的项目中使用了h5的全屏API,在使用esc键退出全屏时,默认调用“document.exitFullScreen()”直接退出,想要做监听并设置业务,需要监听屏幕size变化来出发事件mounte......
  • Python字典 values() 方法
    ​​dict.keys()​​​、dict.values()和 ​​dict.items()​​ 返回的都是视图对象(viewobjects),提供了字典实体的动态视图,这就意味着字典改变,视图也会跟着变化。视图对......
  • 静电防护器件(ESD保护二极管)SD24C-01FTG
    SD24C-01FTG这颗静电防护器件,相信有不少电子工程师都知道这颗物料。在实际应用中,常需要用到这颗料,这是一颗常规ESD静电保护二极管。常有客户前来东沃电子(DOWOSEMI)询价格、申......
  • GoAccess实现请求监
    GoAccess实现请求监控简介GoAccess是一款开源的实时web日志分析器和交互式查看器,用于可视化查看HTTP统计信息,可以系统的终端上运行,也可以通过浏览器运行;本文通过使用GoA......