Python语言,ES(Elasticsearch)基础查询

本文介绍了如何使用Python语言进行Elasticsearch的基础查询操作,包括数据检索、筛选等。通过参考两个技术博客,读者可以掌握在大数据环境中利用Elasticsearch进行搜索和分析的基本技巧。
摘要由CSDN通过智能技术生成
# 有版本匹配的问题,可能需要安装指定版本。 对应7.X的ES, 我安装的是Elasticsearch=7.13.0的版本
from elasticsearch import Elasticsearch
es = Elasticsearch(["http://IP:port/"])

# 查询所有数据
body1 = {
   
    "query":{
   
        "match_all": {
   }
    }
}

# 等于查询,term: 查询 XX = “xx”,关键词不会被拆分。注意:如果字段值是字符串(尤其是汉字),字段名称后面最好加上“.keyword”进行全匹配,要不然可能查不到(可能是分词的原因)
body2 = {
   
    "query": {
   
        "term": {
   
            "数据库字段": "weixin"
        }
    },
    "size":"5",   # 指定查询多少条
}

# 等于查询,terms: 查询 xx = “xx” 或 xx = “yy”
body3 = {
   
    "query":{
   
        "terms":{
   
            "author.keyword": [
                "关键词1", "关键词2"
            ]
        }
    }
}

# 包含查询,match:匹配author字段包含"XXXX"关键字的数据,关键词分词后再去查询。
# 注意:加上".keyword"是精确查询(完全匹配),如果不加,匹配一个字(分词)就算匹配了
body4 = {
   
    "query": {
   
        "match": {
   
            "author.keyword": "XXXX"
        }
    }
}

# 包含查询,multi_match: 在author和title字段里匹配包含“新华”关键字的数据。
body5 = {
   
    "query": {
   
        "multi_match": {
   
            "query": "新华",
            "fields": ["author.keyword", "title"]
        }
    }
}

# 复合查询bool
# bool有3类查询关系:
# must(都满足)
# should(没有must和filter时,其中一个满足;如果有must,可以用"minimum_should_match"指定最少满足的条件个数),
#
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值