查询结果最大数量

缺省情况下,查询结果的最大数量为 1024。可以使用 max_clause_count 索引参数来调整查询结果的最大数量。

如果查询结果数超过 1024 个,您会收到以下错误:

(BTSB0) - bts clucene error: Too Many Clauses

此错误在通配符搜索或模糊搜索中最常见。包含通配符搜索或模糊搜索的 Basic Text Search 查询将在内部重写为一系列用布尔运算符 OR 连接的匹配词搜索。如果匹配词超过 1024 个,查询将失败,并显示此错误。1024 个结果的限制可控制虚拟内存使用情况。

您可以通过在将 max_clause_count 索引参数设置为大于 1024 的值的情况下重新创建 bts 索引,增大查询结果的最大数量。具有大结果集的查询可能会降低性能,并分配额外的虚拟段。您可以使用 onstat -g seg 命令监视虚拟段数。

示例

以下语句创建查询结果最大数量为 4000 个的 bts 索引:

CREATE INDEX bts_idx ON bts_tab(text bts_char_ops)
USING bts (max_clause_count="4000")
IN sbspace1;