Skip to main content

(BTSB0) - bts clucene error: Too Many Clauses


Technote (FAQ)


Question

How to you resolve (BTSB0) - bts clucene error: Too Many Clauses

Cause

(BTSB0) - bts clucene error: Too Many Clauses

 When Clucene rewrites a search expression with, by default, more than 1024 clauses, this error is generated.

 


Answer

 Clucene has this limit because, as we see with s*, some wildcard expansions can be very large and this can use a lot of virtual memory. Clucene has a parameter to limit and help control memory usage. The good news is that it is tunable and an index basis. In BTS, if you have indexes that you want to allow very large query rewrites, then you can specify the max_clause_count parameter. For my test index, if I want to search on the wildcard search s*, then I need to create the index with a max_clause_count larger that 32798.


For example:
create index bts_idx on bts_tab (text bts_char_ops) using bts (max_clause_count="4000"); in sbspace1;

 Keep in mind that these queries can result in more memory usage and you may see the server allocation more virtual segments. The number of virtual segments attached can be monitored with onstat -g seg. (BTSB0) - bts clucene error: Too Many Clauses


Related information

Blog on the error
BTS information

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Informix Servers


Software version:
1.1


Operating system(s):
AIX, HP-UX, Linux, Solaris, Windows


Reference #:
1615218


Modified date:
2012-10-24

Translate my page

Content navigation