ElasticSearch系列 - 倒排索引
倒排索引
MySQL是存储结构化数据的数据库,所以MySQL中的索引是正向索引,key->value,需要注意的是,MySQL中的scheme定义了表的结构,我们定义B-tree索引也只能定义在表字段上,从某种意义上来说,索引是确定值的类型以及可能出现的范围。
但是,编程中,不可能只有结构化数据,更多的数据是非结构化,即无法定义一种存储格式存储,数据格式多变。例如一本书,我需要找到Java出现在那页,这是MySQL中的B-tree索引做不到的。value,key,value代表本身Java就是内容一部分,Key代表页码,如果是正向索引:知道页码找Java很好找,但是知道Java找页码确不行。小时候用过字典的人知道,一本书最前面有目录,记录了单词出现的页码。这就是倒排索引。
ElasticSearch 索引结构概述
curl -X PUT "localhost:9200/user/_doc/1" -