当前位置: 首页 > news >正文

宜春网站建设公司google推广公司哪家好

宜春网站建设公司,google推广公司哪家好,幼教网站模板,汽车网站制作模板文章目录 基本操作更多查询方法1. 查询全部数据2. 针对某个确定的值/字符串的查询:term、match3. 在多个选项中有一个匹配,就查出来:terms4. 数值范围查询:range5. 多个条件同时触发 bool6. 指定返回值个数 size7. 返回指定列 _so…

文章目录

  • 基本操作
  • 更多查询方法
    • 1. 查询全部数据
    • 2. 针对某个确定的值/字符串的查询:term、match
    • 3. 在多个选项中有一个匹配,就查出来:terms
    • 4. 数值范围查询:range
    • 5. 多个条件同时触发 bool
    • 6. 指定返回值个数 size
    • 7. 返回指定列 _source
  • 完整示例程序

基本操作

  1. 首先连接Elasticsearch数据库,然后创建一个自定义的索引
from elasticsearch import Elasticsearch
import random
from elasticsearch import helpers# 连接到本地的 Elasticsearch 服务
es = Elasticsearch(hosts=["http://localhost:9200"])
index_name = "my_index"# 创建一个索引名为 "my_index" 的索引
if es.indices.exists(index=index_name):  # 如果索引存在,删除es.indices.delete(index=index_name)
es.indices.create(index=index_name)  # 新建索引
  1. 新增随机数据

这里我们创建随机数据项,包含value_num与value_choice项,

# 新增随机数据项
add_value_list: list = []
for _ in range(1000):num = random.randint(1, 100)add_value_list.append({"_index": index_name,  # 注意!个参数决定要插入到哪个索引中"value_num": random.randint(1, 100),"value_choice": ["c1", 'c2', 'c3'][random.randint(0, 2)],})
# 批量插入数据
helpers.bulk(es, add_value_list)
  1. 查询操作
# 查询操作
_body_query = {"query": {"range": {"value_num": {"gte": 40,  # >= 40"lte": 60  # <= 60}}},"size": 20,  # 查询20条
}
response = es.search(index=index_name, body=_body_query)
# 打印查询的结果
for _hit in response["hits"]["hits"]:_value = _hit['_source']print("value_num:", _value["value_num"], " value_choice:", _value['value_choice'])
  1. 更新数据项

这里,我们将查询出的数据中,通过文档ID与修改的数据重新为数据赋值

# 更新操作
for _hit in response["hits"]["hits"]:update_body = {"doc": {"value_choice": "c4",  # 更新value_choice字段为c4}}res = es.update(index=index_name, id=_hit['_id'], body=update_body)
  1. 删除数据项
# 删除操作
for _hit in response["hits"]["hits"]:res = es.delete(index=index_name, id=_hit['_id'])

更多查询方法

1. 查询全部数据

_body_query = {"query":{"match_all":{}}
}

2. 针对某个确定的值/字符串的查询:term、match

match会执行多个term操作,term操作精度更高

_body_query = {"query": {"match": {"value_choice": "c1"}}
}
_body_query = {"query": {"term": {"value_choice": "c1"}}
}

3. 在多个选项中有一个匹配,就查出来:terms

_body_query = {"query": {"terms": {"value_choice": ["c1", "c2"],}}
}

4. 数值范围查询:range

查询>=40且<=60的数据

_body_query = {"query": {"range": {"value_num": {"gte": 40,  # >= 40"lte": 60  # <= 60}}}
}

5. 多个条件同时触发 bool

布尔查询可以同时查询多个条件,也称为组合查询,构造查询的字典数据时,query后紧跟bool,之后再跟bool的判断条件,判断条件有下面几个:

  • filter:过滤器
  • must:类似and,需要所有条件都满足
  • should:类似or,只要能满足一个即可
  • must_not:需要都不满足

写完判断条件后,在判断条件的list里再紧跟查询操作的具体细节

_body_query = {"query": {"bool": {"should": [{"match": {"value_choice": "c1"} # value_choice = "c1"},{"range": {"value_num": {"lte": 50}} # value_num <= 50}]}},
}

6. 指定返回值个数 size

在构造的字典中添加size关键字即可

_body_query = {"query": {"range": {"value_num": {"gte": 40,  # >= 40"lte": 60  # <= 60}}},"size": 20,
}

7. 返回指定列 _source

_body_query = {"query": {"range": {"value_num": {"gte": 40,  # >= 40"lte": 60  # <= 60}}},"_source": ["value_num"] # 这里指定返回的fields
}

完整示例程序

from elasticsearch import Elasticsearch
import random
from elasticsearch import helpers# 连接到本地的 Elasticsearch 服务
es = Elasticsearch(hosts=["http://localhost:9200"])
index_name = "my_index"# 创建一个索引名为 "my_index" 的索引
if es.indices.exists(index=index_name):  # 如果索引存在,删除es.indices.delete(index=index_name)
es.indices.create(index=index_name)  # 新建索引# 生成随机数据
add_value_list: list = []
for _ in range(1000):num = random.randint(1, 100)add_value_list.append({"_index": index_name,  # 注意!个参数决定要插入到哪个索引中"value_num": random.randint(1, 100),"value_choice": ["c1", 'c2', 'c3'][random.randint(0, 2)],})
# 批量插入数据
helpers.bulk(es, add_value_list)# ================== 开始增删改查 ==================
_body_query = {"query": {"range": {"value_num": {"gte": 40,  # >= 40"lte": 60  # <= 60}}},"size": 20,
}response = es.search(index=index_name, body=_body_query)  # 查询10条
# 打印查询的结果
for _hit in response["hits"]["hits"]:_value = _hit['_source']print("value_num:", _value["value_num"], " value_choice:", _value['value_choice'])# 更新操作
for _hit in response["hits"]["hits"]:update_body = {"doc": {"value_choice": "c4",  # 更新value_choice字段为c4}}res = es.update(index=index_name, id=_hit['_id'], body=update_body)# 删除操作
for _hit in response["hits"]["hits"]:res = es.delete(index=index_name, id=_hit['_id'])
http://www.zhongyajixie.com/news/16854.html

相关文章:

  • 中英文网站怎么做网络广告投放平台
  • 麒贺丝网做的网站优化武汉seo建站
  • web前端和网站开发百度应用平台
  • 素材图库嘉兴网站建设方案优化
  • 大门户wordpress主题破解seo日常工作
  • 北京哪里有做网站的产品软文范例500字
  • 网站做收录是什么意思免费找客源软件
  • 中国建设信息化期刊官网seo包年优化平台
  • 阿里巴巴网站建设方案书微信营销软件有哪些
  • 找人做任务网站有哪些杭州网站设计制作
  • 大庆+网站建设市场营销教材电子版
  • 松桃县住房和城乡建设局网站做网站推广需要多少钱
  • 合肥网站建设是什么意思湖南网站seo
  • wordpress媒体库插入图片不显示惠州seo外包费用
  • 四川省建筑人员证书查询无忧seo
  • 自己做网站难不难广州网站优化排名
  • 苹果浏览器怎么信任网站设置百度推广费用一天多少钱
  • 上海高端品牌网站建设做网站价格
  • 手机网站需要域名吗中视频自媒体账号注册下载
  • 带地板翻转的网站怎么做重庆人社培训网
  • 在哪个网站做整形郑州短视频代运营
  • 日ip5000的网站怎么做nba最新消息球员交易
  • 做网站的的步骤怎么写外链群发
  • 帝国文章网站模板中央电视台新闻联播广告价格
  • 做网站都要学什么云优化
  • 海淀网站建设网络营销师证
  • 室内设计培训机构多少钱seo整站优化技术培训
  • 唐山市住房城乡建设部网站主页百度贴吧网页版登录入口
  • 北京企业建站技术广州企业推广
  • 接做网站单子的网站网站定制