新手问题 ElasticSearch 和 Mysql 配合使用的话,同一份数据是不是必须在 ElasticSearch 和 Mysql 各存一份?

gofreesky · May 16, 2015 · Last by gofreesky replied at May 17, 2015 · 6598 hits

如题~

简单的回答,是的。 如果你愿意且有经验,而且场景合适的话,你甚至可以把 ElasticSearch 当数据库用,就不需要 MySQL 了。

不是 es 只做搜索,es 的 rails gem 里面有个 mapping 方法可以设置那些字段需要被索引,默认是全部索引. es 搜到的结果只是给你一堆对应的 id, 然后用这些 id 到数据库里面查出对应的完整的 rows.

#2 楼 @ch3n

ElasticSearch 内部,每条记录(index/type/document)都会保存一份完整的 json。

#1 楼 @lgn21st 自己 google 了一些资料,也大概有些概念了,我的理解应该是对于一些不需要频繁搜索的数据,比如用户表之类可以只在 Mysql 存,对于需要频繁搜索的数据,比如帖子,订单之类的表在 ElasticSearch 和 Mysql 都存一份

#2 楼 @ch3n@xiaoronglv所说即使某些字段没有建索引,也是完整存储每条记录的吧,只是说如果这条记录的信息还不够,可以再使用关键 ID 到 Mysql 里查询

You need to Sign in before reply, if you don't have an account, please Sign up first.