在我们的应用程序的一个新特性中,我们必须显示复杂的表视图(在每一行上显示5+实体的信息),并让用户能够在每个元素中进行搜索。
假设我们有一个基本使用FosElasticaBundle的SQL数据库,这意味着我们的ElasticSearch索引被链接到我们的DB。我不确定我们能做的最好的情况是什么。我想要一个带有自定义提供者/查找器的自定义类型,但我不确定这是不是一个好主意。
在某些情况下,显示给用户的信息对于严格的映射来说太复杂了,我正在寻找在SF/ES中处理这一问题的最佳方法(就像我们可以在MySQL级别上创建MySQL视图一样)。
发布于 2016-12-05 21:32:18
对于类似的场景,我使用Elastic搜索文档之间的父子关系,然后降低查询的复杂性。根据查询的复杂程度,这可能会成为一个令人头疼的问题。
另一种选择是在单个文档中序列化所有内容。一般来说,这会使查询变得更简单,但另一方面,您必须注意保持所有相关实体的更新。
我认为第一个是最正确的,但是如果你的子实体没有改变,我发现第二个更容易。
从ElasticSearch结果返回到Doctrine域,花一些时间来评估性能。有时使用所需的连接进行ElasticaToModel转换器会更好,以避免延迟加载破坏您的性能。
https://stackoverflow.com/questions/40971494
复制相似问题