按Elasticsearch

时间:2015-08-05 14:32:45

标签: sorting elasticsearch

考虑索引

  • Foo {id,bazs_count}
  • Bar {id,foo_id}
  • Baz {bar_id}
  • Foo(1) - (0 .. *)Bar(1) - (0 .. *)Baz

我需要一种方法来根据他们的bazs数量来排序foos(与链接到foo的条形图相关的bazs数量)。 Baz指数随着时间的推移而增长,因此bazs计数会动态变化。我找到的方法是制作一些分析应用程序,不断更新Foo项目中的bazs_count。还有更好的方法吗?

澄清数据是如何形成的:我用它们的baz索引条形图。之后我处理所有的bazs并将每个bazs链接到一些吧。所以当我将它们编入索引时,我不知道bar和baz的foo_id。

1 个答案:

答案 0 :(得分:0)

使用批处理更新索引Foo的字段bazs_count或使用Elasticsearch的嵌套文档功能将索引Foo与所有数据Foo + Bar + Baz合并,并使用agregate API通过简单计数对Foos项目进行排序