首页 > 其他分享 >ElasticSearch 搜索数据

ElasticSearch 搜索数据

时间:2024-01-02 12:32:21浏览次数:32  
标签:search 匹配 查询 搜索 user query POST 数据 ElasticSearch


ElasticSearch 搜索数据_搜索引擎

精确查询

存在查询

Exists query 用于查询某个字段不为空的数据。如下所示,查询 age 不为空的 数据

POST user/_search
{
  "query": {
    "exists": {
      "field": "age"
    }
  }
}

主键查询

通过 _id 字段查询数据

POST user/_search
{
  "query": {
    "ids": {
      "values": ["1", "2", "3"]
    }
  }
}

前缀查询

POST user/_search
{
  "query": {
    "prefix": {
      "address": {
        "values": "beijing"
      }
    }
  }
}

范围查询

POST user/_search
{
  "query": {
    "range": {
      "age": {
        "gte": 10,
        "lte": 20
      }
    }
  }
}

查询参数

解释

gt

>

gte

>=

lt

<

lte

<=

format

设置时间格式

正则查询

POST user/_search
{
  "query": {
    "regexp": {
      "name": "*小*"
    }
  }
}

术语查询

POST user/_search
{
  "query": {
    "term": {
      "name": "小明"
    }
  }
}

多术语查询

terms query 和 term query 基本一样,terms query 允许在参数中传递多个查询词

POST user/_search
{
  "query": {
    "terms": {
      "name": ["小明", "小红"]
    }
  }
}

通配符查询

POST user/_search
{
  "query": {
    "wildcard": {
      "name": "*小*"
    }
  }
}

支持如下两个通配符

  1. ?匹配单个字符
  2. * 匹配零个或多个字符,包括空字符

Compound queries(复合查询)

布尔查询

类型

说明

must

必须匹配,需要计算相关度得分,类似于逻辑上的 AND 操作

filter

必须匹配但不影响评分,类似于 must 但更轻量

should

至少有一个条件匹配,类似于逻辑上的 OR 操作,可以用 minimum_should_match 指定至少匹配的条件数量

must_not

条件不能匹配,类似于逻辑上的 NOT 操作

Match all query(查询全部)

GET user/_search
{
  "query": {
    "match_all": {}
  }
}

分页

普通分页

GET user/_search
{
  "query": {
    "match_all": {}
  },
  "from": 0,
  "size": 20
}

from:指定从哪开始
size:指定要返回的结果数量

当 from + size 的值超过10000 的时候会报错,如果一定要使用这种方式,可以在索引配置中调大 index.max_result_window 的值。当数量超过 10000 的时候推荐使用 search after 这种方式

滚动分页

search after 分页

排序

可选值

解释

asc

升序

desc

降序

GET user/_search
{
  "query": {
    "match_all": {}
  },
  "sort": [
    { "age": "desc" },
    { "email": "asc" }
  ]
}

参考博客

官方文档分页或排序
[1]https://www.elastic.co/guide/en/elasticsearch/reference/8.11/sort-search-results.html


标签:search,匹配,查询,搜索,user,query,POST,数据,ElasticSearch
From: https://blog.51cto.com/u_15651175/9067677

相关文章

  • 亚信安慧AntDB数据并行加载工具的实现(一)
    1.概述数据加载速度是评判数据库性能的重要指标,能否提高数据加载速度,对文件数据进行并行解析,直接影响数据库运维管理效率。基于此,AntDB分布式数据库提供了两种数据加载方式:一是类似于PostgreSQL的Copy命令,二是通过AntDB提供的并行加载工具。Copy命令是大家都比较熟悉的,但Copy命令导......
  • 亚信安慧AntDB数据并行加载工具的实现(二)
    3.功能性说明本节对并行加载工具的部分支持的功能进行简要说明。1)支持表类型并行加载工具支持普通表、分区表。2)支持指定导入字段文件中并不是必须包含表中所有的字段,用户可以指定导入某些字段,但是指定的字段数要和文件中的字段数保持一致。3)支持导入部分记录并行加载工具支......
  • 亚信安慧AntDB数据库引领数字时代通信创新
    在数字经济与实体经济深度融合的时代,通信行业正迎来前所未有的新机遇。特别是在中国信通院的预测中,2027年5G专网市场规模预计将达到802亿元,呈现出显著的增长态势,年复合增长率高达42%。亚信安慧AntDB数据库一直致力于紧跟科技发展趋势,着眼于未来,不断进行技术创新和产品研发。在5G专......
  • 亚信安慧AntDB数据库两项目分别入选2023“星河”标杆、优秀案例
    近日,由中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSATC601)共同组织的第七届大数据“星河(Galaxy)”案例评选结果公示,亚信安慧AntDB数据库两项目入选,其中“基于AntDB的CRM系统全域数据库替换项目”获评标杆案例,“中国广电5G核心业务支撑系统数据库建设方案”......
  • 亚信安慧AntDB数据库高可用解决方案助力西南某省高速清分结算系统成功升级
    AntDB数据库技术总监北陌近期分享了一项引人注目的成功案例,该案例涉及西南某省高速领域,利用AntDB数据库作为基础架构成功升级了清分结算系统。这一系统升级对比传统架构,呈现出显著的性能提升,其中包括15%的性能改进、90%的业务处理速度提高、40倍以上的负载增加以及30倍以上的数据分......
  • 亚信安慧AntDB数据库——通信运营商核心系统的全面演进
    AntDB数据库源自通信运营商核心系统,经过15年的平稳运行和不断演进,成功跟随通信技术的升级步伐,逐步迈向5G时代,并且在这期间完成了8次大版本的迭代,为行业树立了技术领先的典范。其独特之处在于具备超融合架构,这一架构不仅支持结构化数据,还能有效管理非结构化数据,从而降低了系统维护的......
  • 亚信安慧AntDB数据库引领行业数字化转型
    自2019年6月起,中国广电成功获得5G牌照,凭借700MHz频谱资源,迅速展开5G网络建设,成功跻身第四大运营商行列。通过与中国移动的战略合作,已部署基站数量超过400万座,形成了强大的网络覆盖体系。亚信科技作为数智化全栈能力领先提供商,在广电5G业务发展中扮演了关键角色,全面负责BSS(业务支撑......
  • AntDB数据库新携手:六大优势引领企业数智化转型风潮
    AntDB数据库与用友U8C携手共创辉煌,联合推出U8C+AntDB联合产品,为企业提供全方位解决方案,充分展现出六大优势,助力企业迎接新的发展时代。图:U8cloud+AntDB联合产品优势首先,该联合产品在助力企业新发展方面发挥着关键作用。通过整合AntDB数据库的先进技术和U8C的云ERP解决方案,企业可......
  • 亚信安慧AntDB数据库:引领向量数据库标准化,助力大数据技术创新
    近日,中国通信标准化协会大数据技术标准推进委员会携手中国信通院,以在线形式召开了《向量数据库技术要求》研讨会,这一举措旨在推动向量数据库技术的标准化发展。此次研讨会吸引了来自50多家企业的70多位专家参与,共同探讨并达成对标准框架的共识。其中,AntDB数据库的专家也受邀参与,为......
  • 亚信安慧AntDB数据库:引领数据库标准与性能规范,推动行业创新
    近日,全国信息技术标准化技术委员会数据库标准工作组在一场重要的研讨会上召开,旨在交流并总结2023年上半年数据库标准编制情况。我国自主研发的AntDB数据库,作为国内最早的国产数据库产品之一,受邀参与了此次标准的研讨,为推动我国数据库领域的标准体系建设和性能测试规范制定贡献了积......