一、复杂查询

1.1、复杂条件搜索

# 复杂条件搜索
GET tindex/_doc/_search
{"query":{"match":{"name": "wells"}}
}

1.2、指定输出字段

# 指定输出字段
GET /tindex/_doc/_search
{"query": {"match":{"name": "wells"}},"_source": ["name", "age"]
}

1.3、排序

# 排序
GET /tindex/_doc/_search
{"query": {"match": {"name": "wells"}},"_source": ["name", "age"],"sort": [{"age": {"order": "desc"}}]
}

1.4、分页查询

# 分页查询
GET /tindex/_doc/_search
{"query": {"match": {"name": "wells"}},"from": 0,"size": 1
}

1.5、布尔值查询

1.5.1、must (and)

GET /tindex/_doc/_search
{"query": {"bool": {"must": [{"match": {"name": "wells"}},{"match": {"age": 17}}]}}
}

1.5.2、should (or)

# bool: should 查询 where name=wells or age = 17
GET /tindex/_doc/_search
{"query": {"bool": {"should": [{"match": {"name": "wells"}},{"match": {"age": 17}}]}}
}

1.5.3、must_not (not)

# bool: must_not 查询 where name != wells
GET /tindex/_doc/_search
{"query": {"bool": {"must_not": [{"match": {"name": "wells"}},{"match": {"name": "tom"}}]}}
}
# 或者 bool: must_not 查询 where name != wells
GET /tindex/_doc/_search
{"query": {"bool": {"must_not": [{"match": {# 通过空格隔开,设置多个值"name": "wells tom"}}]}}
}

1.5.4、过滤器filter

# filter
GET /tindex/_doc/_search
{"query": {"bool": {"must": [{"match": {"name": "wells"}}],"filter": {"range": {"age": {"lt": 30,"gt": 18}}}}}
}

1.6、匹配多个值

# 匹配多个值
GET /tindex/_doc/_search
{"query": {"match": {"tags": "man 技术"}}
}

二、精确查询

两个类型:

  • text:会被分词
  • keyword:不会被分词

通过 _analyze 对词进行分析查看,text与keyword都是fields的类型,通过类型可以区分是否精确查询

# text 与 keyword
GET _analyze
{"analyzer": "standard","text": "wells学es"
}# text 与 keyword
GET _analyze
{"analyzer": "keyword","text": "wells学es"
}



关于分词:

  • term:查询是直接通过倒排索引指定的词条进行精确查找的,不会进行分词
  • match:使用分词器进行解析,再进行查询
# term 与 match
GET /tindex/_doc/_search
{"query": {"match": {"tags": "技术宅男"}}
}# term 与 match
GET /tindex/_doc/_search
{"query": {"term": {"tags": "技术宅男"}}
}

2.1、精确匹配多个值

2.2、高亮

2.2.1、默认高亮

高亮

GET /tindex/_doc/_search
{"query": {"match": {"tags": "技术"}},"highlight":{"fields":{"name":{}}}
}

2.2.2、自定义高亮

GET /tindex/_doc/_search
{"query": {"match": {"tags": "技术"}},"highlight":{"pre_tags": "<p color='red'>","post_tags": "</p>","fields":{"name":{}}}
}

【Elasticsearch实践】(六)ES搜索相关推荐

  1. Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

    Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...

  2. Elasticsearch实践(二)在Springboot微服务中集成搜索服务

    关于如何用Docker搭建Elasticsearch集群环境可以参考前一篇:Elasticsearch实践(一)用Docker搭建Elasticsearch集群.本文主要介绍,如果在Springboo ...

  3. ES搜索(ElasticSearch)入门理论篇

    ElasticSearch理论篇 SQL查询方式 ES相关知识 聊聊Doug Cutting 什么是Lucene 什么是Nutch 演变 Lucene和ES搜索的关系 ES概述 使用者 对比 ES搜索 ...

  4. 如何使用Elasticsearch构建强大的搜索和分析应用程序(2023年最新ES新手教程)

    1.Elasticsearch 非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容 什么是elasticsearch 一个开源的分布式搜索引擎,可以用来实现搜索.日志统计.分析.系统监 ...

  5. Elasticsearch(六)了解全文搜索

    遇到的问题 通过前面的学习,我们已经可以使用elasticsearch来进行数据的搜索了,但此时我们发现了一个问题,这个问题如果没有解决好就很影响我们后续的使用,那么该问题是什么呢?我们来看一下: 上 ...

  6. 使用Elasticsearch 构建 .NET 企业级搜索

    最近几年出现的云计算为组织和用户带来了福音.组织对客户的了解达到前所未有的透彻,并能够采用个性化通信锁定客户.用户几乎可以随时随地获取其数据,使其更加易于访问和使用.为了存储所有这些数据,大型数据中心 ...

  7. 用Elasticsearch构建电商搜索平台(有赞)

    随着互联网数据规模的爆炸式增长,如何从海量的历史,实时数据中快速获取有用的信息,变得越来越有挑战性. 电商数据系统主要类型 一个中等的电商平台,每天都要产生百万条原始数据,上亿条用户行为数据.一般来说 ...

  8. 【ElasticSearch】大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

    1.概述 转载:大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk述 本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望 ...

  9. Elasticsearch实践(一)基本概念

    elasticsearch是一个分布式的.可扩展的.提供restful风格服务的搜索引擎.数据分析引擎.基于Apache Lucene实现 Elasticsearch是一个高度可扩展的,开源的全文搜索 ...

  10. 【ES】ES搜索结果中各个字段介绍,hits,took,timeout

    ES搜索结果中各个字段介绍 空搜索 搜索API的最基础的形式是没有指定任何查询的空搜索,它简单地返回集群中所有索引下的所有文档: GET /_search 返回的结果(为了界面简洁编辑过的)像这样: ...

最新文章

  1. ASP.NET MVC CODE FIRST 图书管理系统 数据库
  2. Opencv4.5.0+VS2019+win10环境配置
  3. python装饰器实例-python装饰器案例
  4. linux 程序返回值 139,Linux系统监控之ssh登陆自动139邮件短信提醒
  5. 计量经济学第六版计算机答案,伍德里奇计量经济学导论计算机习题第六章第13题c_6.13...
  6. java年度总结自我认知,java自我评价
  7. erlang 常用函数
  8. Office 365 Connectors 的使用与自定义开发
  9. 使用git来管理微信小程序
  10. 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)
  11. CSS 常见布局 水平垂直居中对齐
  12. c++ cout 不能正常打印uint8_t
  13. 电源芯片使能管脚EN的6种玩法,助力设计稳定可靠的电源
  14. matlab 图形对称,求任意轴对称图形的核心的Matlab代码实现
  15. LaTex学习教程——插入图片及图片的引用
  16. JavaScript实时获取现货黄金,白银,美元指数价格代码
  17. pip uninstall numpy:报错
  18. 马上就2023年了,Go语言成了吗?
  19. linux freemind字体,解决freemind中文乱码
  20. Re: 一著名软件公司的java笔试算法题!

热门文章

  1. 星空投影仪美国亚马逊审核标准UL62368检测项目介绍
  2. (转载)delphi checklistbox用法
  3. Fortran编程——文件输入输出
  4. 两化融合之企业数字化转型概述
  5. 2022-2027年中国智能化系统工程行业市场深度分析及投资战略规划报告
  6. 五个CSS性能工具可加速您的网站
  7. 弄清楚CSS单位px、em、rem、vh、vw、vmin、vmax的应用场景
  8. win10 内置 ubuntu 20.04LTS
  9. zcmu 1376 天天跑酷
  10. Excel如何利用函数将日期拆分为年月日三列显示