2016-12-02 100 views
0

我在elasticsearch索引中有500万个条目。每个属于5000个不同来源之一(条目具有名为“source”的整数属性)。 现在,要做一个搜索,我想通过来源提高他们:对于每个源ID,我想有一个不同的提升。 提升可以随时间变化(比如说每小时一次),所以索引时间提升看起来不是一个好主意。根据输入字段值提升弹性搜索搜索结果

那么,我该怎么做呢?

我使用了这个,但没有发现任何真正有用的东西。 我在答案中找到了两个可能的选项,但也许我有更好的选择?

回答

0

一种选择是将每个类转换为父项作为子项 - 但是然后源的所有子项(条目)将被放入同一个分片中(并且条目在源之间分布非常不均匀),并且I将需要更改数据库模式,重建数据库并更新所有现有代码。

另一种选择是将每个源放入不同的索引,并使用index_boost。有相同的缺点,而且我还需要在查询中提供提升(如果我只有5个源代码,那么这种提升会起作用)。