【发布时间】:2018-03-16 07:17:35
【问题描述】:
问题:
我有两种类型的存储库,一种是文档,另一种是页面。文档和页面之间存在关系。您可以将它们视为具有 1 页或更多页的文档(书)。实际上,我可能需要从符合某些条件的文档中查询页面,反之亦然。所以我要说的是,如果不是全部来自文档匹配的页面,我有时可能会查询某些页面。
目前,我已经在 Parent 中创建了一个父子关系,我已经为文档编制了索引,在 Child 中,我已经参照文档为页面编制了索引。
但是我们的设置存在性能问题,随着文档的增加,搜索和索引查询变得非常缓慢。我还发现不推荐使用父子关系,因为弹性搜索site很耗时。
是否有任何其他数据建模可用于解决此问题。
【问题讨论】:
-
对于 sql,你的方法是完美的,但 elasticsearch 不支持像这样的连接,所以如果你这样做会导致性能问题。我的建议是不要进行规范化,而是通过嵌入文档将这两个保存在一个索引中
-
@ArpitSolanki 你建议使用嵌套类型吗?我知道 SQL 非常适合这种方法,但问题是页面包含文本数据,而 Elasticsearch 最适合文本数据。所以只有我继续使用 ElasticSearch
标签: elasticsearch parent-child