Elasticsearch面试知识点

1 倒排索引

参考: https://zhuanlan.zhihu.com/p/33671444
Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤
索引(index): 一个索引简单的理解成关系型数据库,
类型(type): type 相当于一个表 es7已经移除type概念
映射(mapping) 相当于表结构
文档(document) 相当于表中的一行数据
字段(field) 相当于表中字段
集群(cluster) 一个或者多个节点组成
节点(node) 集群中的节点,一台机器或者一个进程

每一个document上都有一个docid
Elasticsearch面试知识点_第1张图片
那么给这些document建立的倒排索引就是:
Elasticsearch面试知识点_第2张图片
18,20 叫team(术语) [1,3]叫postingList(是一个int数组),postingList存的是文档的id
team 进行排序组成term dictionary(术语词典) ,术语词典的索引 就叫term index
term index 组成字典树。
“为什么Elasticsearch/Lucene检索可以比mysql快了。 Mysql只有term dictionary这一层,
是以B-tree排序在磁盘上,检索一个term需要若干次的random access的磁盘操作,而Lucene在term dictionary的基础上添加了term index来加速检索,term index以树的形式缓存在内存中。从term index查到对应的term dictionary的block位置之后,再去磁盘上找term,大大减少了磁盘的random access次数。

分词器

IK

ES经纬度查询:

https://blog.csdn.net/wuxintdrh/article/details/115367301
地图检索
geo_distance 直线距离 参数: 点 半径 图形类型(arc)
geo_bounding_box 以两个点确定一个矩形,获取在矩形内的全部数据 参数(左上,右下)
geo_polygon :以多个点,确定多边形,获取多边形内的全部数据

头大!!!

你可能感兴趣的:(elasticsearch,面试,搜索引擎)