1、什么是ElasticSearch?
Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。
2、什么是倒排索引?
正常的索引是比如二叉树。倒排索引是用内容作为key,value是这些内容的id。
换句话说是将文档内容中的单词作为索引,将包含该词的文档 ID 作为记录的结构,方便在座位搜索引擎使用,搜索key的时候返回包含的所有文档id。
3、text 和 keyword类型的区别
text会分词查到,keyword不会分词查询,必须精确查找。
4、query 和 filter 的区别?
(1)query: 查询操作不仅仅会进行查询,还会计算分值,用于确定相关度;
(2)filter: 查询操作仅判断是否满足查询条件,不会计算任何分值,也不会关心返回的排序问题,同时,filter 查询的结果可以被缓存,提高性能。
5、ES的更新和删除流程?
删除和更新都是写操作,但是由于 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更;所以 ES 利用 .del 文件 标记文档是否被删除