如题~
简单的回答,是的。 如果你愿意且有经验,而且场景合适的话,你甚至可以把 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 里查询