gpt4 book ai didi

search - Solr 在大量方面值上的扩展能力如何?

转载 作者:行者123 更新时间:2023-12-02 09:02:13 25 4
gpt4 key购买 nike

我正在使用 Solr,并且我想对字段“组”进行分面。

由于“组”是由用户创建的,因此“组”可能有大量值。

  • Solr 能够处理这样的用例吗?或者 Solr 真的不适合具有大量值的分面字段吗?

  • 我知道我可以设置facet.limit来限制为facet字段返回的值的数量。这对我的情况有帮助吗?假设搜索中“group”有 100,000 个匹配值,如果我将 facet.limit 设置为 50。这会加快查询速度,还是查询仍然很慢,因为 Solr 仍然需要处理和排序所有方面值并返回前 50 个?

  • 有关如何针对大量方面值调整 Solr 的任何提示吗?

谢谢。

最佳答案

从 1.4 开始,solr 可以很好地处理具有大量值的构面,因为它默认使用简单的构面计数。 (facet.method 默认为“fc”)。

在 1.4 之前,solr 使用基于过滤器的分面方法(枚举),这对于具有少量值的属性进行分面肯定更快。此方法需要每个方面值一个过滤器。

关于facet.limit,可以将其视为一种在构面空间中导航的方式(与facet.offset结合使用),就像您使用行/偏移量在结果空间中导航一样。因此 10 ~ 50 的值是合理的。

与行/偏移量一样,由于 Solr 的性质,当偏移量变大时,您可以预期facet.limit/facet.offset 的性能会下降,但如果您保持在合理的范围内,它应该完全没问题.

默认情况下,solr 首先输出更频繁的方面。

总结一下:

  • 使用 Solr 1.4

  • 确保facet.method 为“fc”(好吧,无论如何,这是默认值)。

  • 使用facet.limit/facet.offset在构面空间中导航。

关于search - Solr 在大量方面值上的扩展能力如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902680/

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