2024-01-25(ElasticSearch)

附上:ElasticSearch从入门到精通,史上最全(持续更新,未完待续,每天一点点)_elasticsearch从入门到精通,史上最全-CSDN博客

1.ES中存储不是重要的,搜索查询功能才是ES的核心

2.ES提供了基于JSON的DSL(Domain Specific Language)来定义查询。

常见的查询类型:查询所有,全文索引,精确查询,地理查询,复合查询。

3.精确查询的值是不可分割的整体,所以可以采用精确查询来做。

4.ES是分布式的,并且会将数据切分开的存储到不同的服务器上。所以ES会面临深度分页问题。

5.ES还可以把搜索结果高亮显示。例如百度搜索Java,Java关键字会红色显示。

原理:服务端将搜索结果中的关键字用标签标记出来,然后在页面中给标签添加CSS样式。

6.ES中的数据聚合:

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

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

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

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

7.技术都是根据需求来的,业务场景的使用推动技术的发展。业务高于技术。技术为业务服务。

8.ES中的分词器,包含三个部分:

character filters:在tokenizer之前对文本进行处理。例如删除字符,替换字符

tokenizer:将文本按照一定的规则切割成词条。

tokenizer filter:将tokenizer输出的词条做进一步处理。例如大小写转换,同义词处理,拼音处理等。

9.ES实现自动补全功能的查询

自动补全对字段的要求:类型是completion类型,字段值是多词条的数组

10.ES && MySQL 对比:

ES中的index索引库就类似于MySQL中的数据库。

ES中的Type类型就类似于MySQL中对于表的定义。

ES中的document文档就是最终存储数据的地方,类似于MySQL中表的一条数据。

ES中的Field字段类似于MySQL中的列的概念。

ES中的shard分片:一台服务器,无法存储大量的数据,ES把一个index里面的数据,分为多个shard,分布式的存储在各个服务器上面。

你可能感兴趣的:(随记日志,elasticsearch,大数据,搜索引擎)