Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ElasticSearch中存储新闻提要的最佳设计模式_Java_Spring_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Design Patterns - Fatal编程技术网 elasticsearch,design-patterns,Java,Spring,elasticsearch,Design Patterns" /> elasticsearch,design-patterns,Java,Spring,elasticsearch,Design Patterns" />

Java ElasticSearch中存储新闻提要的最佳设计模式

Java ElasticSearch中存储新闻提要的最佳设计模式,java,spring,elasticsearch,design-patterns,Java,Spring,elasticsearch,Design Patterns,我们有一个拥有500万用户的移动应用程序,现在我们正在尝试设计基于ES的新闻提要。目标是有机会创建帖子、存储帖子并为其他用户订阅。因此,我们需要根据每个人的订阅量为他们选择帖子 经过一些研究和谷歌搜索,我发现了一些可以在我们的用例中使用的流行方法 创建每个用户的索引。我认为这对我们来说不是一个好主意,因为它需要为订阅者的每个索引插入一篇新文章。还有,如果我们有1亿用户呢 为所有帖子创建一个索引。然后,我们可以为每个用户创建一个别名,该别名使用他订阅的用户ID进行筛选。但在为用户创建新闻提要时,我

我们有一个拥有500万用户的移动应用程序,现在我们正在尝试设计基于ES的新闻提要。目标是有机会创建帖子、存储帖子并为其他用户订阅。因此,我们需要根据每个人的订阅量为他们选择帖子

经过一些研究和谷歌搜索,我发现了一些可以在我们的用例中使用的流行方法

  • 创建每个用户的索引。我认为这对我们来说不是一个好主意,因为它需要为订阅者的每个索引插入一篇新文章。还有,如果我们有1亿用户呢

  • 为所有帖子创建一个索引。然后,我们可以为每个用户创建一个别名,该别名使用他订阅的用户ID进行筛选。但在为用户创建新闻提要时,我们将不得不使用许多碎片。所以有三种方法

  • 按用户ID路由。这是一种类似于2的方法,但区别在于我们为每个用户创建一个别名,并通过其用户ID进行路由。缺点是,对于我们索引中的每一篇文章,其副本数量将取决于该文章的读者数量

  • 还有另外一种模式,我已经读过了。但我仍然没有明确的愿景——在我们的用例中,什么是最佳实践

    此外,我们还有一个替代ES-Cassandra的方案。但决定仍在进行中

    也许有人能说出他在这个问题上的专业知识并给出建议。批评也是受欢迎的


    提前谢谢。

    您可以使用Observer模式,您的新闻将发送给所有订阅者

    问题是关于存储和查询大量数据您找到了最佳方法吗。。?如果有的话,你能分享一下吗?谢谢。我也在找同样的。已经一年多了。你得到答案了吗?因为我有同样的问题