gpt4 book ai didi

Solr 分面搜索性能建议

转载 作者:行者123 更新时间:2023-12-04 21:22:22 25 4
gpt4 key购买 nike

我们有一个包含 86,315,770 个文档的 solr 实例。它使用多达 4GB 的内存,我们需要它来对称为内容的标记化字段进行分面。磁盘上的索引大小为 23GB。

为什么我们要面对标记化的领域?因为我们要查询该字段中前“n”个最常用的术语。问题是执行此类查询花费的时间太长。在做这样的刻面时,有什么方法可以改善时间吗?有什么建议吗?

提前致谢。

最佳答案

由于 Solr 在内存数据结构上计算分面,因此分面计算可能受 CPU 限制。计算 facet 的代码已经高度优化(UnInvertedField 中的 getCounts 方法用于多值字段)。

一种想法是并行化计算。也许最简单的方法是将您的收藏分成几个碎片,如 Do multiple Solr shards on a single machine improve performance? 中所述。 .

否则,如果您的术语词典足够小并且查询可以采用有限数量的形式,您可以设置一个不同的系统来维护每个(术语,查询)对的计数矩阵。例如,如果您只允许术语查询,这意味着您应该维护每对术语的计数。请注意,这将需要大量磁盘空间,具体取决于术语和查询的总数。如果您不需要精确计数,也许最简单的方法是在批处理中计算这些计数。否则,保持计数与 Solr 同步可能(可能,但是)有点棘手。

关于Solr 分面搜索性能建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9874490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com