抱歉标题模棱两可,再合适不过了。
我正在探索 Elastic Search,它看起来很酷。我的问题是概念性的,因为我习惯了 sql。
在 Sql 中,您有不同的数据库,并且您将每个应用程序的数据存储在那里。ES中是否存在相同的概念?还是来自我所有应用程序的所有数据最终都将放在同一个地方?在这种情况下,避免不合适的数据产生不需要的结果的最佳实践是什么?
抱歉标题模棱两可,再合适不过了。
我正在探索 Elastic Search,它看起来很酷。我的问题是概念性的,因为我习惯了 sql。
在 Sql 中,您有不同的数据库,并且您将每个应用程序的数据存储在那里。ES中是否存在相同的概念?还是来自我所有应用程序的所有数据最终都将放在同一个地方?在这种情况下,避免不合适的数据产生不需要的结果的最佳实践是什么?
无模式并不意味着无结构:
对于一个不错的教程,我建议看一下“ElasticSearch in 5 minutes”教程。
从 SQL 切换到搜索引擎有时可能具有挑战性。Elasticsearch 有一个索引的概念,可以粗略地映射到数据库和类型,也可以非常粗略地映射到表。Elasticsearch 具有非常强大的机制,可以选择单一类型的记录(行)并组合来自不同类型和索引(联合)的结果。但是,目前不支持联接。elasticsearch 支持的唯一关系是 has_child,但它不适合建模多对多关系。因此,在大多数情况下,您需要准备好对数据进行非规范化,以便将其存储在单个表中。