mnoGoSearch 3.3.9 reference manual: Full-featured search engine software
Prev |  | Next

# Limit

## Name

Limit -- describes a fast limit

`indexer.conf`

`search.htm`

## Synopsis

Limit {name} {sql}

##

Limit describes an SQL query returning a list of URL `IDs` and associates the list 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 efficiently.

> Note: Use the `fl` search.cgi parameter to load a previously created fast limit at search time.

> Note: Starting from the version `3.2.39`, it's also possible to specify the `fl` parameter in the DBAddr command in `search.htm`, to set different limits for the databases listed in the template.

Fast limits work much faster than section limits which are activated by using the `sl` search parameter described in the Section called Search parameters in Chapter 10.

Unlike section limits, fast limits are suitable for huge databases and can use very complex WHERE conditions, typically on the `url` and `urlinfo` mnoGoSearch tables, but can also use joins with external tables.

Fast limits work only with the databases supporting `DBMode=blob` (see the Section called Storage mode - blob in Chapter 7) and reuse the `bdict` table in the mnoGoSearch database, however they are available for `DBMode=single` and `DBMode=multi` as well.

> Note: If you use `DBMode=single` or `DBMode=multi`, then run `indexer -Erewritelimits` to create or update fast limits after indexing.

> Note: If you use `DBMode=blob` then fast limits are recreated automatically during execution of `indexer -Eblob` or `indexer -Erewriteurl`, however you can still use `indexer -Erewritelimits` for quick rewrite of fast limits without touching other data.

Starting from the version `3.2.39`, it is also possible to specify the Limit command directly in `search.htm` without having to cache the desired limits using `indexer -Eblob`. It can be useful for the limits whose SQL queries work very efficiently and return a very small number of documents.

## Examples

    Limit mod  "SELECT rec_id FROM url WHERE url LIKE '%/mod/%'"
    Limit html "SELECT url_id FROM urlinfo WHERE sname='Content-Type' AND sval='text/html'"

## See also

the Section called Search parameters in Chapter 10, the Section called Storage mode - blob in Chapter 7, DBAddr.

Prev | Home | Next
LangMapUpdate | Up | LoadURLBasicInfo