This command describes an SQL query returning a list of URL IDs and
associates it with the given name. The query is executed during execution
of indexer -Eblob, indexer -Erewriteurl
or indexer -Erewritelimits
and its results are stored in the database in a compact way,
which allows to fetch the limit during search time very effeciently.
Use the "fl" search.cgi parameter to load a previously created fast limit at search time.
Since version 3.2.39, it's also possible to specify the "fl"
parameter in the "DBAddr" search.htm command, to set different
limits for the databases listed in the template.
The fast limits work much faster than the section limits, which use the "sl"
search.cgi parameter described in the Section called Search parameters
in Chapter 8
Unlike the "sl" limits, the fast limits are suitable for huge databases
and can use very complex WHERE condition, typically on the "url"
or "urlinfo" mnoGoSearch tables, but can also use joins with external tables.
The fast limits work only with the databases supporting DBMode=blob
(see the Section called Storage mode - blob
in Chapter 5) and reuse the "bdict" SQL table,
however they are available for DBMode=single and DBMode=multi as well.
If you use DBMode=single or DBMode=multi, then execute indexer -Erewritelimits
to create or recreate the fast limits after indexing.
If you use DBMode=blob then the fast limits are recreated automatically
during execution of indexer -Eblob or indexer -Erewriteurl,
however you can still use indexer -Erewritelimits for quick rewrite of
the fast limits without touching other data.
Since 3.2.39, it is also possible to specify the "Limit" commands
directly in search.htm, without having to cache the desired limits
using "indexer -Eblob". It can be useful for those limits whose
SQL queries work very efficiently and return a very small
number of documents.