代码改变世界

Elasticsearch相关概念了解

2017-08-11 11:34  钰火  阅读(197)  评论(0编辑  收藏  举报


mysql ⇒数据库databases       ⇒表tables     ⇒ 行rows        ⇒ 列columns
es   ⇒索引indices        ⇒ 类型types     ⇒文档documents         ⇒ 字段fields

es中所说的索引容易混淆,他有3种含义:

1. 索引(名词) 如上面类比,一个索引(index)就好比是mysql中的数据库,它是存储数据的地方。
2. 索引(动词)表示把一个文档存储到索引(名词)里。
3. 倒排索引 好比mysql为特定列增加一个索引。

和mysql类似,每个库都得有表,还有表的结构。es的每一个索引都有个类型,而每个type(类型)得有个mapping (映射)。mapping就像是mysql中的表结构,他将每个字段匹配为一种确定的数据类型(string,date等)。

你可以向已有映射中增加字段,但你不能修改它。如果一个字段在映射中已经存在,这可能意味着那个字段的数据已经被索引。如果你改变了字段映射,那已经被索引的数据将错误并且不能被正确的搜索到。