1.倒排索引是如何工作的
倒排索引中主要有词条和文档两个概念:词条是分词后产生的词语,每条数据都有对应的文档(被序列化好的json串)
倒排索引就是把词条、文档ID记录下来,每当出现一个重复的词条都会追加在文档ID
如下图,词条是不会重复的
在查询的时候,我们会先对搜索内容进行分词,根据分词去倒排索引中查询文档id,根据文档id查询文档,最终返回结果集。
2.字段介绍
_source:在存储的时候就是存储了原始文档_source和倒排索引两种信息。
index:是否在es中建立索引,默认是true
store:是否在es中存储,默认为false(这个其实是lucene的功能,es中的_source已经取代了他)
X.es中的删除是真的删除吗
当es中使用delete删除某文档时,他并不会立刻删除该文档,而是给元数据一个标记该文档已删除
es基于lucene,lucene将索引数据分为多个段segments,每个段都是一个独立的索引文件,当文档被标记为删除时会使这些删除操作记录在一个删除文件中
es会定期执行段合并操作来删除删除文件中的文件;
此外es还提供了一个删除缓存,在删除大量文档时,缓存的删除会被持久化到删除文件中
X1.es为什么占内存那么大
es使用了多级缓存提高查询速度,使用内存映射文件来提高文件访问速度,同时es还是基于JVM的
标签:词条,倒排,删除,CRUD,索引,elasticsearch,文档,es From: https://www.cnblogs.com/kun1790051360/p/18504341