Cloudant 全文搜索 "too many boolean " 请求”

Cloudant full text search "too many boolean "requests"

谁能告诉我 Cloudant 全文搜索中布尔请求的限制是多少?

我有 206 个 OR,看起来太多了。

这基本上是我的查询:

( this:"that" AND ping:pong AND (yes:a1 OR yes:b1 OR yes:c1 OR ...x50 ) ) OR
( this:"that" AND ping:pong AND (yes:a2 OR yes:b2 OR yes:c2 OR ...x50 ) ) OR
( this:"that" AND ping:pong AND (yes:a3 OR yes:b3 OR yes:c3 OR ...x50 ) ) OR
( this:"that" AND ping:pong AND (yes:a4 OR yes:b4 OR yes:c4 OR ...x50 ) ) 

Cloudant 全文搜索是 Apache Lucene 的前端,它的布尔子句数量默认限制为 1024。

https://lucene.apache.org/core/6_5_0/core/org/apache/lucene/search/BooleanQuery.html#getMaxClauseCount--

您的每个 OR 条款都包含大约六个子条款,这意味着您违反了此限制。

如果您确实发现自己编写的查询超出了该限制,那么如果您可以稍微重组文档,则可能值得研究一下。