1.TF-IDF打分

image.png

索引通过倒排列表记录分词在不同的文档中的出现情况:
image.png
比如搜索谷歌的得分就是 2*1/5=0.4

2.ES分布式

单节点

image.png
默认一个主分片一个从分片,如果只有一个节点,那么主从分片就位于同一个节点,集群会报错
通过创建的时候设置:
image.png

多节点

不一定所有主分片都要在同一个节点上
image.png
但是同一个节点只能放置主分片的同一个副本

3.索引的创建

一般创建索引之前会先设计索引的结构,包括字段以及类型,分词器等等

4.Canal同步MySql数据到ElasticSearch

1.安装canal,配置mysql的ip和端口
2.因为cancal的原理是伪装成从机读取mysql的binlog,所以mysql上要开启binlog功能,并且binlog的日志格式,必须设置成ROW,同时要授权给canal的账号,
3.canal是增量更新,和mysql的数据交互不需要代码控制
4.canal中的数据更新到ES需要代码控制,通过canalConnector可以一次性获取一个批次例如1000条更新数据
5.对每个更改的数据,到mysql中进行连表查询,查询出构建ES索引所需要的所有字段。