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

网站建设最新技术天猫关键词排名怎么控制

网站建设最新技术,天猫关键词排名怎么控制,网站建设制作优化,wordpress 怎么改中文字体全文目录: 开篇语前言摘要概述ElasticSearch Query 查询方式详解1. Match 查询(全文搜索)1.1 Match 查询示例1.2 Match 查询参数扩展 2. Term 查询(精准查询)2.1 Term 查询示例2.2 Terms 查询 3. Bool 查询&#xff08…

全文目录:

    • 开篇语
    • 前言
    • 摘要
    • 概述
    • ElasticSearch Query 查询方式详解
      • 1. Match 查询(全文搜索)
        • 1.1 Match 查询示例
        • 1.2 Match 查询参数扩展
      • 2. Term 查询(精准查询)
        • 2.1 Term 查询示例
        • 2.2 Terms 查询
      • 3. Bool 查询(组合查询)
        • 3.1 Bool 查询示例
      • 4. Range 查询(范围查询)
        • 4.1 Range 查询示例
        • 4.2 日期范围查询
      • 5. Aggregation 查询(聚合查询)
        • 5.1 聚合查询示例
        • 5.2 聚合扩展:嵌套聚合
      • 6. SQL 查询(简化语法)
        • SQL 查询示例
    • 适用场景案例
    • 优缺点分析
      • 优点
      • 缺点
    • 小结
    • 总结
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

在上期内容中,我们深入探讨了 ElasticSearch 的基本架构和核心功能,包括分布式存储、分片与副本的工作机制以及倒排索引的实现原理。然而,在实际的开发场景中,仅仅理解这些基础知识是不够的。我们需要通过查询接口高效地从海量数据中获取我们需要的信息。

本期内容,我们将聚焦 ElasticSearch 的 Query 查询方式。ElasticSearch 提供了丰富的查询 DSL(Domain Specific Language),可以满足从简单的全文搜索到复杂条件查询的多样化需求。通过对查询方式的解析和实战案例分享,我们将全面掌握 ElasticSearch 的查询能力。


摘要

ElasticSearch 是一个分布式搜索和分析引擎,其强大的查询功能使其成为处理海量数据的利器。本篇文章将系统讲解 ElasticSearch 的查询方式,包括 全文搜索结构化查询组合查询聚合查询 等,同时结合实际场景演示如何高效构建查询语句。最后,我们会对不同查询方式的优缺点进行对比,并总结最佳实践。


概述

ElasticSearch 提供两种主要的查询方式:

  • 查询 DSL(Query DSL):基于 JSON 格式的查询语法,用于表达搜索条件。
  • SQL 查询:ElasticSearch 提供了类似 SQL 的查询接口,适合习惯使用 SQL 的开发者。

在开发中,Query DSL 是主要的查询方式,它分为以下两大类:

  1. Match Queries(匹配查询):主要用于全文搜索。
  2. Term Queries(精准查询):用于精确匹配结构化数据。

除此之外,还可以通过组合查询和聚合查询实现复杂数据分析。


ElasticSearch Query 查询方式详解

1. Match 查询(全文搜索)

Match 查询是 ElasticSearch 中用于 全文搜索 的主要方式,它会对查询条件进行分词,然后匹配分词后的结果。

1.1 Match 查询示例

查询字段中包含某关键词的文档

GET /my_index/_search
{"query": {"match": {"content": "elastic search"}}
}
  • 解析
    • 查询字段 content
    • 查询内容 elastic search 会被分词为 elasticsearch,然后进行匹配。
1.2 Match 查询参数扩展

示例:控制匹配度(minimum_should_match)

GET /my_index/_search
{"query": {"match": {"content": {"query": "elastic search","minimum_should_match": "75%"}}}
}
  • minimum_should_match:至少 75% 的词语需要匹配,适合宽松搜索。

2. Term 查询(精准查询)

Term 查询不会对输入内容进行分词,直接用于匹配精确的值(例如数字、日期、布尔值等)。

2.1 Term 查询示例

查询状态为 active 的文档

GET /my_index/_search
{"query": {"term": {"status": "active"}}
}
  • 解析
    • 查询字段 status
    • 匹配字段值为 active 的文档。
2.2 Terms 查询

匹配多个值

GET /my_index/_search
{"query": {"terms": {"status": ["active", "pending"]}}
}
  • 匹配 statusactivepending 的文档。

3. Bool 查询(组合查询)

Bool 查询是 ElasticSearch 的 核心查询,用于构建复杂的条件查询。它允许组合多个子查询,通过逻辑关系(mustshouldmust_not)实现。

3.1 Bool 查询示例

同时满足多条件的查询

GET /my_index/_search
{"query": {"bool": {"must": [{ "term": { "status": "active" }},{ "match": { "content": "elastic search" }}],"must_not": [{ "term": { "category": "deprecated" }}],"should": [{ "term": { "priority": "high" }}]}}
}
  • must:必须满足的条件(类似 AND)。
  • must_not:必须不满足的条件(类似 NOT)。
  • should:可选条件(类似 OR,影响匹配评分)。

4. Range 查询(范围查询)

Range 查询用于匹配数值、日期等范围数据。

4.1 Range 查询示例

查询价格在 100 到 500 之间的商品

GET /my_index/_search
{"query": {"range": {"price": {"gte": 100,"lte": 500}}}
}
  • gte:大于等于(greater than or equal)。
  • lte:小于等于(less than or equal)。
4.2 日期范围查询

查询过去 7 天的数据

GET /my_index/_search
{"query": {"range": {"timestamp": {"gte": "now-7d/d","lt": "now/d"}}}
}
  • now:当前时间。
  • d:按天计算。

5. Aggregation 查询(聚合查询)

Aggregation(聚合查询)用于对数据进行统计分析,例如求平均值、总和、分组等。

5.1 聚合查询示例

按分类统计商品数量

GET /my_index/_search
{"size": 0,"aggs": {"category_count": {"terms": {"field": "category.keyword"}}}
}
  • size: 0:不返回文档,只返回聚合结果。
  • terms:按分类字段分组。
5.2 聚合扩展:嵌套聚合

统计每个分类下的平均价格

GET /my_index/_search
{"size": 0,"aggs": {"categories": {"terms": {"field": "category.keyword"},"aggs": {"avg_price": {"avg": {"field": "price"}}}}}
}

6. SQL 查询(简化语法)

ElasticSearch 提供了 SQL 查询接口,便于使用 SQL 风格查询数据。

SQL 查询示例

查询状态为 active 的文档

POST /_sql?format=json
{"query": "SELECT * FROM my_index WHERE status = 'active'"
}

适用场景案例

  1. 电商平台

    • 使用 Match 查询实现商品的关键词搜索。
    • 使用 Aggregation 查询统计每个分类下商品的数量。
  2. 日志分析系统

    • 使用 Range 查询分析过去一周的访问量。
    • 使用 Bool 查询过滤多个条件的日志。
  3. 数据统计系统

    • 使用 Terms 和 Aggregation 查询统计各地销售额分布。

优缺点分析

优点

  1. 灵活性强:支持丰富的查询类型,适配不同需求。
  2. 性能高效:通过倒排索引和聚合优化实现快速查询。
  3. 扩展性好:支持组合查询和嵌套聚合。

缺点

  1. 学习曲线陡峭:查询 DSL 的复杂度较高。
  2. 调试难度大:复杂查询可能需要反复测试优化。

小结

通过本文的学习,我们系统了解了 ElasticSearch 的查询方式,包括全文搜索、精确匹配、范围查询、组合查询以及聚合查询等。无论是构建搜索引擎,还是设计复杂的数据统计功能,ElasticSearch 都提供了强大的工具链。


总结

ElasticSearch 的强大查询能力是其成为现代分布式搜索和分析引擎的核心优势。在实际项目中,通过合理选择和组合查询方式,可以高效地从海量数据中获取所需信息。希望本篇文章能为您在 ElasticSearch 查询开发中提供切实的帮助和启发!

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

http://www.dtcms.com/wzjs/282253.html

相关文章:

  • 怎么做新闻网站阿里大数据官网
  • 品牌宣传策划公司谷歌seo教程
  • 浙江招标信息网百度关键词快速优化
  • 合肥个人做网站外链平台
  • 德州哪里有做网站推广的信息推广平台有哪些
  • 肇庆企业自助建站系统百度网游排行榜
  • 最精品网站建设南宁seo优势
  • 开县网站建设谷歌浏览器官方app下载
  • 菠菜网站开发csjylw推广资讯
  • 个人性质的网站备案容易查各种推广平台
  • 台州专业制作网站网站建设策划
  • 哪个网站专门做灵异文可以搜索任何网站的浏览器
  • 腾讯企业邮箱怎么开通注册杭州网站优化搜索
  • 赣州人才网官方网站万江专业网站快速排名
  • 青岛推广信息seo关键词排名优化案例
  • 论职能网站建设百度关键词快速排名方法
  • 小程序设计案例百度提升优化
  • 做网站是用什么技术的网络维护培训班
  • 专业的环保行业网站开发百度推广代理商与总公司的区别
  • wordpress取消草稿系统优化软件哪个最好的
  • 万网 做网站廊坊seo排名收费
  • wordpress 后台管理插件seo去哪里学
  • 网站开发的软件百度seo查询系统
  • 中国新闻社待遇找索引擎seo
  • 设备租赁网站建设seo排名优化公司价格
  • 搬家公司收费价格表手机端seo
  • 找网站建设公司买转发链接
  • 旌阳移动网站建设营业推广的形式包括
  • 用腾讯云做会员网站网络营销环境
  • 微分销系统源码福州网站seo公司