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

个人网站建设工作室赣州明珠网科技

个人网站建设工作室,赣州明珠网科技,六安建设网站,响应式网站的登录设置介绍 随着数据量的不断增长#xff0c;搜索和分析大规模数据集变得越来越重要。传统数据库在面对这种需求时往往表现不佳#xff0c;这时候就需要一种专门用于搜索和分析的引擎。ElasticSearch #xff08;简称ES#xff09;就是这样一款强大的搜索引擎#xff0c;它具有许…介绍 随着数据量的不断增长搜索和分析大规模数据集变得越来越重要。传统数据库在面对这种需求时往往表现不佳这时候就需要一种专门用于搜索和分析的引擎。ElasticSearch 简称ES就是这样一款强大的搜索引擎它具有许多优势使得它成为许多企业和开发者的首选。 简单的说ElasticSearch 是一个实时的分布式存储、搜索、分析的引擎 在我看来ES最强的其实是它的模糊搜索功能。 那有的人就会问了我数据库一样可以实现模糊搜索啊 select * from student where name like %宁正%例如这个sql就可以查出姓名中带有宁正两字的学生 的确这这样做是可以模糊搜索的但是name like %宁正%这种写法它是不走索引的所以就意味着如果你的数据量很大比如上千万上亿条那你不管如果去优化代码你的查询也肯定是秒级的 并且还有一个情况我们大部分搜索的时候输入的信息其实并不是很准确例如我想搜索ElasticSearch 有关的信息但我一不小心打成了ElesticSearch 如果按sql语句去进行模糊搜索你就无法找到和es有关的信息 所以在这种情况就可以使用ElasticSearch 它就是为了搜索而生的。 因此我这边就把es的优点罗列出来并进行浅显的分析 ES对于全文的模糊搜索非常擅长 原因ES是基于倒排索引使得ES能够快速匹配关键字并返回相关结果而不需要像传统数据库那样进行全表扫描。倒排索引在存储和查询大规模文本数据时具有较高的效率。 那有些小伙伴看了可能就会问了倒排索引是什么倒排索引和正排索引有什么区别我们日常使用的数据库可以使用倒排索引吗 那接下来就一个一个回答 倒排索引是什么 倒排索引是一种基于关键词的索引结构常用于全文搜索引擎和信息检索系统中。它是一种将文档中的关键词映射到对应的文档ID的数据结构。 具体来说倒排索引将文档中的每个关键词与包含该关键词的文档ID建立映射。对于每个关键词倒排索引记录了出现该关键词的文档列表包括它们的词频、位置等信息。这使得在给定关键词的情况下可以快速找到包含该关键词的相关文档。 倒排索引和正排索引有什么区别 正排索引是一种文档ID进行排序的索引结构它存储了文档和文档中的每个词条的详细信息。 我有一个通俗易懂的方法来表达 正排索引就想我们看书时的目录可以直接通过页码找到对应页码的内容 而倒排索引就是将整本书中的词汇提取出来并记录改词汇存在于哪些页码中形成映射关系当我想要查找一个词汇出现在哪些页中时便只要根据这个映射表就可以快速找到想要的页数 这么一解释大家应该就清楚了。 我们日常使用的数据库可以使用倒排索引吗 实际上数据库是可以支持倒排索引的但是与传统的正排索引相比数据库倒排索引的实现相对有些复杂而且数据库的主要设计目标是支持高效的数据管理和事务处理而不是专注于全文搜索等复杂的查询需求 ES的查询语法更灵活可以精确控制查询条件和权重以及进行更复杂的模糊搜索 Elasticsearch的查询语法相当灵活可以根据需要控制查询条件和权重以及执行诸如布尔查询、范围查询、模糊查询地理位置等复杂查询。通过使用查询语法可以实现更精确的搜索。 我这边写一个基于自身地理位置查询的一个demo geoDistanceQuery是一种地理位置查询用于查询距离某个地理坐标点一定距离范围内的文档。只需要提供一个地理点的经纬度坐标和一个距离以及一个单位 SearchSourceBuilder sourceBuilder new SearchSourceBuilder(); GeoDistanceQueryBuilder geoQuery QueryBuilders.geoDistanceQuery(local).point(lat, lon) // 地理位置坐标.distance(distance, DistanceUnit.KILOMETERS); // 查询距离sourceBuilder.query(geoQuery); SearchRequest searchRequest new SearchRequest(indexName); searchRequest.source(sourceBuilder);// 执行查询 SearchResponse searchResponse client.search(searchRequest, RequestOptions.DEFAULT);在上面的demo中我们创建了一个geoDistanceQuery来查询location字段在给定地理位置坐标的一定距离范围内的文档。这里使用的是公里作为单位。 ES提供了丰富的聚合和分析功能 ES原生的提供了丰富的聚合和分析功能可以对结果进行聚合、分组、排序等多种操作并且ES还提供了许多其他的分析功能如词频统计、日期直方图等。这些功能可以帮助用户更深入地理解数据生成仪表板和可视化图表。 我在这边也写一个较为简单的demo看一看就好详细的之后的博客会讲解 假设我们有一个索引存储了电影信息包含字段title电影标题、genre电影类型和rating电影评分。 现在我们希望对不同类型的电影进行聚合并计算每个类型的平均评分。 首先我们需要构建一个聚合查询指定按genre字段进行分组并计算每个分组的平均值。 GET movies/_search {size: 0,//指定聚合操作的容器aggs: { //聚合操作起的一个名字genres: { //指定分组字段的聚合操作类型terms: { // 指定要分组的字段field: genre},aggs: {//平均值聚合操作起的一个名字avg_rating: {//计算均值的聚合操作类型avg: {//操作的字段field: rating}}}}} }在上面的查询中我们使用terms聚合将电影按照genre字段进行分组并使用avg聚合计算每个分组的rating字段的平均值。 就会得到以下类似的结果 aggregations : {genres : {buckets : [{key : Action,doc_count : 100,avg_rating : {value : 4.2}},{key : Drama,doc_count : 80,avg_rating : {value : 3.8}},...]} }Action类的电影有100部平均评分4.2 Drama类的电影有80部平均评分3.8 这只是聚合和分析功能的一个简单示例实际上ES提供了更多丰富的聚合操作和分析功能可以根据具体需求进行更复杂的操作 ES使用分布式架构能够更好地处理大规模数据和高并发查询 ES分布式架构在水平扩展上的表现出色通过将数据分片存储在多个节点上ES可以处理大规模数据并且能够通过并行化查询和分布式计算来提高查询性能。 这个在这就不细讲了之后具体介绍的是会讲述。 那我们是无脑上ES吗还是说要在一个特定的情况下呢 第一个问题的回答显而易见的当然是不能无脑上ES ES虽然功能强大但也很复杂。使用它需要一定的学习和理解。如果没有适当的培训或经验可能会遇到配置错误、性能问题、索引和查询错误等ES是一个分布式系统需要适当的硬件和资源支持才能正常运行。如果部署不当就会导致性能问题或资源浪费。ES需要进行适当的管理和维护包括监控集群健康状况、备份和恢复数据、更新和升级等。如果没有正确进行管理和维护可能会遇到数据丢失、性能下降或安全风险成本成本还是成本 第二个问题那我们什么时候才要用ES呢 在我看来可以从以下几个方法来考虑 数据规模如果你要处理的数据高到百万甚至上亿那你完全可以使用ES来处理大量的数据集搜索复杂度如果你需要经常的对全文数据进行复杂的文本查询和顾虑那ES是一个比较好的选择实时性如果你需要快速地分析实时数据那ES是一个合适的选择它支持实时数据索引和查询可以在数据到达时即时进行分析和可视化分布式和高可用性需求如果你需要一个可扩展的具有高可用性和容错性的数据存储和分析解决方案那ES是一个合适的选择 所以不要因为这个技术比较厉害就无脑的去使用该技术在使用技术的时候也要考虑到它所带来的风险
http://www.pierceye.com/news/395684/

相关文章:

  • 无锡建设局评职称网站分析 网站
  • 宜昌需要做网站建设的公司python做调查问卷网站
  • 乐陵森大最好的seo优化公司
  • php网站开发实施方案福建建筑信息平台
  • 怎么写公司网站的文案建设网站技术公司简介
  • 陕西做网站的wordpress增加变量
  • 莒南县建设工程网站网站认证方式有几种
  • 举报网站建设自查报告相同网站名
  • 网站建设网站建设公司北京logo设计制作
  • 福州市交通建设集团有限公司 网站全国国家公示系统官网
  • 郑州网站建设蝶动2023年专升本最新政策
  • 江苏网站推广网络企业宣传画册设计公司
  • 沈阳设计网站公司哪家好个人养老保险怎么交费
  • 烟台seo网站推广如何给自己公司设计logo
  • wordpress 图片大小设置梧州网站优化公司
  • 360推广 网站建设豫建设标去哪个网站
  • 职高网站建设知识点国家免费技能培训有哪些
  • 哪个网站有帮忙做公开课课件怎么查那些人输入做网站
  • 怎么做qq钓鱼网站吗有哪些站内推广的方式
  • wap手机网站建设校园论坛网站怎么做
  • 北京专业网站的建设滨州做网站的
  • 网站点击排名wordpress 联系我们
  • 上街免费网站建设seo外包公司优化
  • 营销型网站的三大特点安徽网站设计方案
  • 优化网站推广教程排名做微信公众号页面的网站
  • 龙岗网站设计效果台州百度关键词排名
  • 政务类网站建设ps做全屏网站画布要多大
  • 百度广告搜索推广seo如何快速排名百度首页
  • 网站调用微信数据网站开发语言windows
  • 网站建设的公青岛专业网站制作设计