gpt4 book ai didi

solr - Solr中的 bool 值子句异常过多

转载 作者:行者123 更新时间:2023-12-04 10:53:02 24 4
gpt4 key购买 nike

我在框架查询中使用OR或逻辑运算符时遇到了这些问题。我不想增加maxBooleanClause值。除此之外,还有其他选择吗?我的OR范围可以达到2百万。我希望如果超出maxBooleanClause的范围,而不是solr拆分查询,并最终合并所有子查询。这些可能吗?或者,如果有人可以建议一些更好的技术来做到这一点。

我想绘制一个图表,用户在其中提供一些日期范围,例如在2013年3月1日到2013年6月1日之间,所有访问该应用程序的访客都可以使用。在这里我想查询所有唯一ID的OR。

      uniqueId:(1001 OR 1003 OR 1009 OR ........ OR 102467)

感谢您的帮助。

最佳答案

Solr施加maxBooleanClause正是因为这是它的最佳实践之外的事情。最终,如果您需要数百万次搜索,那么您将需要在Solr之外进行自己的分发和聚合。

我会费力地猜测这些子句与图相关,这是我看到这类查询的最常见地方。在这种情况下,您可能有可能在此保持Solr的优势。

有时,有必要反转过滤器的逻辑,而不是传入大量的值作为过滤依据,而是将这些值索引到要搜索的文档上,以便以后可以传递单个值。

例如,假设您有一个人的索引。并说您想搜索与某个特定人成为 friend 的人。您可以生成其所有 friend 的ID列表,以过滤搜索。但是,您将遇到与此处看到的类似的问题:大量的OR子句。

或者,您可以将每个人的 friend 列表索引到Solr中。现在,您将拥有一个包含数千个值的字段,但是您的查询过滤器将只有一个值:您要过滤其搜索依据的网络的人员的ID。

就搜索机制而言,这更多地发挥了Solr的优势。但是,这是有成本的。您需要自己管理非规范化,并且可能要对文档进行大量更新,或者在图形更新中会遇到一些延迟。

如果事实证明这很繁琐,则可能需要考虑针对图遍历进行更好地优化的另一种技术。

关于solr - Solr中的 bool 值子句异常过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16901299/

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