摘要:
多shard场景下相关度分数(relevance score)不准确问题 在es中检索某个field中是否包含关键字,会使用到TF/IDF算法来计算相关度分数 计算相关度分数主要从以下三点考虑 在一个doc中field中关键字出现的次数(越大相关度越高) 在所有doc中field中关键字出现的次数( 阅读全文
摘要:
ES的Java API Transport Client:TransportClient不推荐使用,而推荐使用Java High Level REST Client,并将在Elasticsearch 8.0中删除。 JAVA REST Client Java Low Level REST Clien 阅读全文
摘要:
什么是相关度 相关性描述的是⼀个⽂档和查询语句匹配的程度。ES 会对每个匹配查询条件的结果进⾏算分_score。_score 的评分越高,相关度越高。 信息检索工具性能的3大指标 查准率 Precision:尽可能返回较少的无关文档; 查全率 Recall:尽可能返回较多的相关文档; 排序 Rank 阅读全文
摘要:
分词器的概念 Analysis和Analyzer Analysis:文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词 Analysis是通过Analyzer来实现的。 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field)。 倒 阅读全文
摘要:
Mapping 概念 mapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping,mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等 查看Mapping #查 阅读全文
摘要:
在http://192.168.232.128:5601/app/dev_tools#/console连接中进行直接数据操作(安装了Kibana) 没有安装的直接连接也可用postman直接连接ES 新增数据 #相关测测试数据 PUT /product/_doc/1 { "name" : "xiao 阅读全文
摘要:
ES的容错机制 假设场景,现在一共有9个shard,其中3个shard 6个replica,一共有三个es节点,node1是master节点,具体如下图: 如果下载master节点挂掉,shard1,replica2-1,replica3-1 节点会丢失,在master节点挂掉的一瞬间 shard1 阅读全文
摘要:
环境 JDK 8 centos 7 elasticsearch的基于lucene开发, lucene是java语言开发,因此需要java环境 安装es 安装包下载 https://www.elastic.co/cn/downloads/elasticsearch 解压安装包 tar -zxvf el 阅读全文
摘要:
什么是搜索引擎 搜索引擎,即指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统.小到一个网站的内部搜索功能,如博客文章的搜索,电商平台商品的搜索,大到提供全网搜索的网站,如谷歌、百度等 倒排索引 索引就类似于目 阅读全文
摘要:
MySQL优化官网参考 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微) 字段设计 字段类型的选择,设计规范,范式,常见设计案例 存储IP地址 常规做法: varchar(15 阅读全文
摘要:
分库分表前的问题 任何问题都是太大或者太小的问题,我们这里面对的数据量太大的问题。 用户请求量太大 因为单服务器TPS,内存,IO都是有限的。 解决方法:分散请求到多个服务器上; 其实用户请求和执行一个sql查询是本质是一样的,都是请求一个资源,只是用户请求还会经过网关,路由,http服务器等。 单 阅读全文
摘要:
索引是什么? 索引是什么了,查阅了官方文档。官方文档写了索引的作用和没有索引会带来全表扫描,非常费时间。 Indexes are used to find rows with specific column values quickly. Without an index, MySQL must b 阅读全文
摘要:
为什么需要主从复制? 在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 做数据的热备 架构的扩展。业务量越来越大,I/O访问频 阅读全文
摘要:
调优原则 在性能优化时,我们必须遵循一定的原则,否则,有可能得不到正确的调优结果。主要有以下几个方面: 对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时,很可能是内存容量太小,因为CPU忙于处理内存调度。 阅读全文
摘要:
为什么要有事务 数据库引入事务的主要目的是事务会把数据库会从一种一致状态转换到另一种一致状态,数据库提交工作时可以确保要么所有修改都保存,要么所有修改都不保存。 事务的四大特性(ACID) A(Atomicity) 原子性 C(Consistency) 一致性 I(Isolation) 隔离性 D( 阅读全文
摘要:
title: MySQL的Sql执行流程 date: 2021-03-09 14:47 tags: MySQL categories: MySQL description: MySQL的Sql执行流程 hidden: false abbrlink: 6b5d697 updated: top: 执行流 阅读全文
摘要:
MySQL的约束 排序查询 语法:order by 子句 order by 排序字段1 排序方式1 , 排序字段2 排序方式2... 排序方式: ASC:升序,默认的。 DESC:降序。 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。 聚合函数 将一列数据作为一个整体,进行纵向的计算 阅读全文
摘要:
操作数据库:CRUD C(Create):创建 创建数据库: create database 数据库名称; 创建数据库,判断不存在,再创建: create database if not exists 数据库名称; 创建数据库,并指定字符集 create database 数据库名称 charact 阅读全文
摘要:
相关环境 操作系统:centos7 mysql版本:mysql 5.7 MySQL 5.7 的安装 检测系统是否自带安装mysql yum list installed | grep mysql 删除系统自带的mysql及其依赖(防止冲突) #此处对应的是自身版本 yum -y remove mys 阅读全文
摘要:
Executor框架 线程池就是线程的集合,线程池集中管理线程,以实现线程的重用,降低资源消耗,提高响应速度等。线程用于执行异步任务,单个的线程既是工作单元也是执行机制,从JDK1.5开始,为了把工作单元与执行机制分离开,Executor框架诞生了,他是一个用于统一创建与运行的接口。Executor 阅读全文