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

asp.net创建项目和创建网站的区别哈尔滨网站设计培训班

asp.net创建项目和创建网站的区别,哈尔滨网站设计培训班,延安网站制作,公司找人做网站需要什么目录 数据聚合 聚合的种类 DSL实现聚合 桶聚合 度量聚合 RestAPI实现聚合 多条件聚合 自动补全 拼音分词器 自定义分词器 自动补全查询 实现搜索框自动补全 数据同步 数据同步思路分析 实现elasticsearch与数据库数据同步 集群 搭建ES集群 集群脑裂问题 集群…

目录

数据聚合

聚合的种类

DSL实现聚合

桶聚合

度量聚合

RestAPI实现聚合

多条件聚合

自动补全

拼音分词器

自定义分词器

自动补全查询

实现搜索框自动补全

数据同步

数据同步思路分析

实现elasticsearch与数据库数据同步

集群

搭建ES集群

集群脑裂问题

集群故障转移

集群分布式存储

集群分布式查询


数据聚合

聚合的种类

聚合可以实现对文档数据的统计、分析、运算。聚合常见的有三类:

桶聚合:用来对文档做分组

           TermAggregation:按照文档字段值分组

           Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组

度量聚合:用以计算一些值,比如:最大值、最小值、平均值等

           Avg:求平均值

          Max:求最大值

          Min:求最小值

          Stats:同时求max、min、avg、sun等

管道聚合:其它聚合结果为基础做聚合

参与聚合的字段类型必须是:

keyword

数值

日期

布尔

DSL实现聚合

桶聚合

默认情况下,桶聚合会统计桶内的文档数量,记为_count,并且按照_count 降序排序。我们可以修改结果排序方式:

 默认情况下,桶聚合是对索引库的所有文档做聚合,我们可以限定要聚合的文档范围,只要添加query条件即可:

度量聚合

例如,我们要求获取每个品牌的用户评分的min、max、avg等值.

RestAPI实现聚合

聚合请求的构造

聚合结果的解析

多条件聚合

多条件聚合构建

结果解析

自动补全

拼音分词器

使用拼音分词

要实现根据字母做补全,就必须对文档按照拼音分词。插件:infinilabs/analysis-pinyin: 🛵 This Pinyin Analysis plugin is used to do conversion between Chinese characters and Pinyin.

下载完将压缩包解压到es的plugins目录即可

自定义分词器

Elasticsearch 中分词器(Analyzer)的组成包含三部分:

  1. Character Filters(字符过滤器)

    • 在 Tokenizer 之前对原始文本进行预处理。

    • 例如:删除特殊字符、替换字符(如将 & 替换为 and)。

  2. Tokenizer(分词器)

    • 将文本按照特定规则切割成词条(Term)。

    • 例如:

      • keyword:不分词,将整个文本作为一个词条。

      • ik_smart:智能切分(粗粒度分词)。

  3. Token Filters(词条过滤器)

    • 对 Tokenizer 输出的词条进行进一步处理。

    • 例如:大小写转换、同义词处理、拼音处理等。

我们可以在创建索引库时,通过setting来配置自定义的analyzer(分词器):

自定义分词器配置

拼音分词器适合在创建倒排索引的时候使用,但不能在搜索的时候使用。

因此字段在创建倒排索引时应该用my_analyzer分词器;字段在搜索时应该使用ik__smart分词器;

自动补全查询

es提供了Completion Suggerter查询来实现自动补全功能。这个查询会匹配以用户输入内容开头的词条并返回。为了提高补全查询的效率,对于文档中字段的类型有一些约束:

  参与补全查询的字段必须是completion类型。

  

字段的内容一般是用来补全的多个词条形成的数组

查询语法

实现搜索框自动补全

1.修改索引库,设置自定义拼音分词器

2.修改索引库的name、all字段,使用自定义分词器

3.索引库添加一个新字段suggestion,类型为completion 字段,使用自定义分词器

4.给实体类添加suggestion字段,内容包含所需要补词的内容

5.重新导入数据

RestAPI实现自动补全

结果解析

数据同步

数据同步问题分析

es中酒店数据来自于mysql数据库,因此mysql数据发生改变时,es也必须跟着改变,这个就是es与mysql之间的数据同步。

数据同步思路分析

方案一:同步调用

优点:实现简单,粗暴

缺点:耦合度高

方案二:异步通知

优点:低耦合,实现难度一般

缺点:依赖mq的可靠性

方案三:监听binlog

优点:完全接触服务间耦合

缺点:开启binlog增加数据库负担、实现复杂度高

实现elasticsearch与数据库数据同步

利用MQ实现mysql与es数据同步

步骤:

导入数据

声明exchange、queue、RoutingKey

完成数据库中增、删、改业务并完成消息发送

完成消息监听并且更新es中数据

导入MQ依赖

配置MQ

集群

ES集群结构

单机的es做数据存储,必然面临两个问题:海量的数据存储问题、单点故障问题。

海量数据存储问题:将索引库从逻辑上拆分为N个分片,存储到多个节点

单点故障问题:将分片数据在不同节点备份

搭建ES集群

利用docker容器模拟3个es的节点。

集群脑裂问题

集群故障转移

集群分布式存储

集群分布式查询

http://www.dtcms.com/a/510287.html

相关文章:

  • 夫妻找做伙食饭工作哪个网站好印象笔记 wordpress
  • 做资源的教育类网站或公司装修效果图网站
  • 做网站时候图片和视频放在哪里湖南免费网站建设
  • 更改网站主题中国建设银行网站-个人客
  • 福永网站建设多少钱推荐网站空间购买
  • 视频解析接口网站怎么做营销型网站建设需要有什么功能
  • 公众号开发者刷新数据丢失通辽网站seo
  • 国内知名网站建设公司seo学院
  • 网站负责人 主体负责人什么网站可以做简历模板
  • 永久免费手机建站平台2022年网络流行语
  • 如何建立一个网站的快捷方式网站建设seo优化价格
  • 山东省建设教育集团网站首页白杨seo
  • 网站优化目的百度排名怎么做
  • 如何注册网站免费注册wordpress 外网访问
  • 一级域名和二级域名做两个网站网站开发公司的义务
  • dede手机网站建设教程中国建设银行网站签名通下载
  • vps 做网站珠海网站开发
  • 个人可以做几个网站吗刚刚发生了什么大事
  • 做拍卖的网站有哪些推广网站平台免费
  • 网站流量利用浙江建设职业继续教育学院网站
  • 提供网站建设方案服务动漫设计专业哪个学校比较好
  • 青岛做网站建设代做效果图的网站
  • 网站设计与应用方向论文泉州做网站多少钱
  • 怎么给设计网站推广成都网站建设排名
  • 临沂网站seo南京seo推广
  • 阿里云注册网站之后怎么做网站天元建设集团有限公司 天眼查
  • 胶南建网站现在 做网站 技术路线
  • 湖北网站建设服装设计网站模板
  • [ 1500元做网站_验收满意再付款! ]_沛县网络公司cd.wordpress.ncn
  • 烟台建设协会网站太原小程序制作电话