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

租用网站服务器深圳网站定制开发

租用网站服务器,深圳网站定制开发,网站建设相关视频,怎么制作自己的微信小程序Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。以下是对Elasticsearch的详细介绍#xff1a; 一、基本概述 Elasticsearch是Elastic Stack#xff08;以前称为ELK Stack#xff09;的核心组件#xff0c;Logstash和Beats有助于收集、聚合和丰富数据并将…Elasticsearch是一个分布式、高扩展、高实时的搜索与数据分析引擎。以下是对Elasticsearch的详细介绍 一、基本概述 Elasticsearch是Elastic Stack以前称为ELK Stack的核心组件Logstash和Beats有助于收集、聚合和丰富数据并将其存储在Elasticsearch中而Kibana则提供数据可视化、探索和分享的功能。Elasticsearch能够处理各种类型的数据包括结构化、半结构化和非结构化数据并为其提供近乎实时的搜索和分析能力。 二、技术特点 1、分布式架构Elasticsearch采用分布式架构数据可以在多个节点上进行分散存储这提高了数据的可靠性和可伸缩性。随着数据和查询量的增长Elasticsearch可以无缝地扩展其部署规模。 2、实时性Elasticsearch具有近实时的搜索和分析能力数据的添加、更新和删除操作几乎可以立即生效。这使得Elasticsearch成为实时数据分析和监控的理想选择。 3、高可用性通过复制机制和分片技术Elasticsearch保证了数据的高可用性。即使某个节点发生故障也能够保证系统的正常运行和数据的不丢失。 4、强大的全文检索能力Elasticsearch使用倒排索引来实现全文检索能够快速地搜索和过滤大量的文本数据。同时它还提供了多种查询方式包括全文查询、精确查询、范围查询、模糊查询等以满足不同类型的查询需求。 5、支持多种数据格式Elasticsearch支持多种数据格式的索引和搜索包括结构化数据如数据库中的表、半结构化数据如JSON和XML和非结构化数据如文本和图像。 6、可扩展性Elasticsearch可以通过添加新的节点来扩展系统的容量和性能实现水平扩展。这使得Elasticsearch能够轻松应对大规模数据集和高并发查询的挑战。 三、应用场景 1、日志分析Elasticsearch可以用于实时地收集、存储和分析大量的日志数据。它可以帮助开发人员和运维人员快速搜索和分析日志数据以便定位和解决问题。 2、搜索引擎Elasticsearch的全文搜索功能非常强大可以用于构建搜索引擎。它支持复杂的查询和过滤可以在大规模文档集合中快速地进行全文搜索。 3、实时分析Elasticsearch可以用于实时分析大规模数据。它可以对结构化和非结构化数据进行索引和分析支持聚合操作和复杂的数据可视化。 4、电子商务Elasticsearch可以用于构建电子商务网站的产品搜索功能。它可以根据用户的查询实时地返回相关的产品结果并支持过滤、排序和推荐等功能。 5、监控和告警Elasticsearch可以用于实时监控和告警系统。它可以收集和分析各种指标和日志数据并根据设定的规则和阈值触发告警。 6、地理空间分析Elasticsearch支持地理空间数据的索引和查询可以用于构建地理信息系统GIS和地理空间分析应用。 四、工作原理 Elasticsearch的工作原理主要基于倒排索引和分布式架构。当用户将数据提交到Elasticsearch数据库中时Elasticsearch会对数据进行分词处理并创建一个倒排索引。倒排索引将术语链接到文档中的位置从而实现快速文本搜索。同时Elasticsearch通过分片技术将数据分散存储在多个节点上并通过复制机制增强容错能力和可用性。当用户进行查询时Elasticsearch会根据倒排索引快速找到相关文档并根据权重对结果进行排名和打分最终将返回结果呈现给用户。 五、详解ES环境搭建 ES下载安装 首先我们需要下载ES压缩包 curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz通过curl指令完成下载后通过tar 指令进行解压 tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz完成配置后我们就可以进入bin目录执行./elasticsearch将es启动。 查看控制台没有报错后我们可以通过curl指令查看es是否正常运行 curl 127.0.0.1:9200kibana下载安装 kibana是操作es的图形界面工具用起来非常方便接下来我们就开始介绍一下kibana的安装步骤我们首先到达kibana官网找到和我们ES一致的Linux版本进行下载 Kibana 7.12.0:https://www.elastic.co/cn/downloads/past-releases/kibana-7-12-0完成后我们进入kibana根目录的bin目录执行./kibana将其启动。完成后我们通过浏览器访问5601端口如果出现如果进入kibana初始化界面。 在界面我们可以按需点击add data选择simple data等面板数据导入。 详解ElasticSearch和Kibana基础搜索 基础插入和查询 接下来就是正式的介绍Kibana对于ES的操作步骤了在此之前我们先找到dev tools界面 若我们希望通过kibana插入一条数据我们就可以通过put指令完成如下所示我们指定索引名为customertype为_doc并指定id为1的文档设置数据text为hello kibana PUT /customer/_doc/1 {text:hello kibana }完成后我们可以直接通过GET指令获取对应的指令为GET /customer/_doc/1最终查询结果如下 查询所有 通过上一个例子我们了解了基于kibana的基础读写ES操作接下来我们就来演示一下几种比较常见的查询对应指令如下可以看到我们指定导入数据的index为kibana_sample_data_ecommerce并键入_search指令 GET /kibana_sample_data_ecommerce/_search最终我们就可以看到下面这样的输出简单介绍一下几个比较重要的字段 took:查询耗费时间单位为毫秒。timed_out:搜索请求是否超时这里显示false即没有超时。_shards:查询的分片数并列出成功、失败、跳过的条目数。max_score:最匹配的一份文档的分数值。hits.sort:具体文档列表信息hits._score:具体文档的相关性得分例如下图第一条目的文档就是1分。 分页查询 如果我们希望分页查询则可以通过from指定起始页通过size指定每页的大小对应的查询示例如下 GET /kibana_sample_data_ecommerce/_search {query: { match_all: {} },sort: [{ email: asc }],from: 1,size: 10 }输出结果 指定条件字段 我们希望查询customer_full_name中包含Abd或者Adams中的数据对此我们就可以通过match指明查询的字段和字段值即可 GET /kibana_sample_data_ecommerce/_search {query: { match: { customer_full_name: Abd Adams } } }输出结果 段落匹配 上一个例子是针对每一个词项进行匹配如果我们希望查到customer_full_name中带有Abd Adams的数据我们就可以通过段落匹配即可实现对应的指令如下 GET /kibana_sample_data_ecommerce/_search {query: { match_phrase: { customer_full_name: Abd Adams } } }输出结果 多条件查询 es支持多条件查询例如我们希望查询customer_full_name带有Abd、Adams但是customer_first_name不包含Abd的数据那么我们就可以指定 must中指明customer_full_name为Abd、Adams。must_not中指明customer_first_name为Abd。 对应的指令示例如下 GET /kibana_sample_data_ecommerce/_search {query: {bool: {must: [{ match: { customer_full_name: Abd Adams } }],must_not: [{ match: { customer_first_name: Abd } }]}} }输出结果 复合条件查询 我们希望查询符合如下3个条件的数据 customer_full_name为Abd、Adams。currency为EUR。customer_id范围在50~55。 对此我们的编写的检索语句为 指定查询为bool多条件查询。must通过match_phrase关键字限定customer_full_name为Abd Adams。filter过滤出值为EUR的currency。通过customer_id限定customer_id范围为50~55。 对应的我们给出查询语句读者可结合表述进行理解这里笔者需要补充一点如果查询时单单使用filter进行过滤的话查询结果是是不会计算max_score等匹配相关的结果得到每份文档的匹配分数还是建议使用must GET /kibana_sample_data_ecommerce/_search {query: {bool: {must: [{match_phrase: {customer_full_name: Abd Adams}}],filter: [{term: {currency: EUR}},{range: {customer_id: {gte: 50,lte: 55}}}]}} }简单聚合查询 es同样是支持聚合操作例如我们希望看到每个customer_full_name对应的文档数我们就可以通过group_by_state查询指定term(词项)为customer_full_name被聚合的字段无需对分词统计所以使用customer_full_name.keyword对整个字段统计 GET /kibana_sample_data_ecommerce/_search {size: 0,aggs: {group_by_state: {terms: {field: customer_full_name.keyword}}} }输出结果 嵌套聚合 基于上述基础我们希望查询出这每个人taxful_total_price的平均值我们可以通过es的嵌套聚合实现语句如下基于上述语法基础再声明一个aggs指明avg的字段为taxful_total_price即可 GET /kibana_sample_data_ecommerce/_search {size: 0,aggs: {group_by_state: {terms: {field: customer_full_name.keyword},aggs: {average_total_price: {avg: {field: taxful_total_price}}}}} }聚合结果排序查询 还是以上面的排序为例如果我们希望通过taxful_total_price的结果进行升序排序的话我们可以通过order指明使用的排序结果以笔者本次示例来说也就是通过average_total_price的结果进行排序所以对应的语法如下 GET /kibana_sample_data_ecommerce/_search {size: 0,aggs: {group_by_state: {terms: {field: customer_full_name.keyword,order: {average_total_price: asc}},aggs: {average_total_price: {avg: {field: taxful_total_price}}}}} }从结果来看输出的数据确实是按照聚合排序数据显示
http://www.yayakq.cn/news/4223/

相关文章:

  • asp医院网站源码破解版地方门户cms
  • 如何解决网站只收录首页的一些办法上海建设网站是国家级吗
  • 甘肃省住房和建设厅官方网站wordpress调用单页
  • 做网站的岗位叫什么wap网址是什么意思
  • 湛江企业网站怎么建设wordpress 入门主题
  • 网站建设项目规划书目录广州哪里能买到正品港版黄道益活络油
  • 怎么推销自己的网站网络营销方式和消费者群体之间的关系
  • 茂名一站式网站建设报价自己网站可以加标志吗
  • 济南做手机网站建设部职称证书查询官方网站
  • 怎样建个小公司的网站孝感市建设局网站
  • 桐庐网站制作平台网站模板素材
  • 东莞公司建网站要多少费用siren模板wordpress
  • 南京 网站备案哈尔滨哪里有制作网页的
  • 17一起广州做网站外网无法访问WordPress
  • 免费网站模板无需注册网站中qq跳转怎么做的
  • 全国网站建设人员数量西安php网站建设
  • 网站建设职位要求旅游网站建设规划书模板
  • 陕西建设网综合服务中心网站免费一天赚500元游戏
  • 国外做网站推广如何创建一个个人网站简答题
  • 建设外贸型网站流程桂林漓江游船票价格
  • 平顶山城市住房城乡建筑网站做电锯电音的网站
  • asp.net 网站设计做盗版漫画网站
  • 企业官方网站建设费用项目网站建设方案
  • 低价网站建设方案app外包公司怎么找
  • 被黑的网站网站备案不通过怎么解决
  • 网站开发推广佛山市手机网站建设企业
  • 医院网站建设技术方案网站开发视频会议插件
  • 网站内容与功能模块设计工作站做网站
  • 哈尔滨寸金网站建设价格三合一网站什么开发好
  • 淘宝客网站免费建设推广网站建设花费得多少钱