<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Limit</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="mnoGoSearch 3.3.9 reference manual" HREF="index.html"><LINK REL="UP" TITLE="mnoGoSearch command reference" HREF="msearch-cmdref.html"><LINK REL="PREVIOUS" TITLE="LangMapUpdate" HREF="msearch-cmdref-langmapupdate.html"><LINK REL="NEXT" TITLE="LoadURLBasicInfo" HREF="msearch-cmdref-loadurlbasicinfo.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="mnogo.css"><META NAME="Description" CONTENT="mnoGoSearch - Full Featured Web site Open Source Search Engine Software over the Internet and Intranet Web Sites Based on SQL Database. It is a Free search software covered by GNU license."><META NAME="Keywords" CONTENT="shareware, freeware, download, internet, unix, utilities, search engine, text retrieval, knowledge retrieval, text search, information retrieval, database search, mining, intranet, webserver, index, spider, filesearch, meta, free, open source, full-text, udmsearch, website, find, opensource, search, searching, software, udmsearch, engine, indexing, system, web, ftp, http, cgi, php, SQL, MySQL, database, php3, FreeBSD, Linux, Unix, mnoGoSearch, MacOS X, Mac OS X, Windows, 2000, NT, 95, 98, GNU, GPL, url, grabbing"></HEAD ><BODY CLASS="refentry" BGCOLOR="#EEEEEE" TEXT="#000000" LINK="#000080" VLINK="#800080" ALINK="#FF0000" ><!--#include virtual="body-before.html"--><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" ><SPAN CLASS="application" >mnoGoSearch</SPAN > 3.3.9 reference manual: Full-featured search engine software</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="msearch-cmdref-langmapupdate.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="msearch-cmdref-loadurlbasicinfo.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="cmdref-limit" ></A >Limit</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN9969" ></A ><H2 >Name</H2 ><B CLASS="command" >Limit</B > -- describes a fast limit<P ><B ></B ><TT CLASS="filename" >indexer.conf</TT ></P ><P ><B ></B ><TT CLASS="filename" >search.htm</TT ></P ></DIV ><DIV CLASS="refsynopsisdiv" ><A NAME="AEN9977" ></A ><H2 >Synopsis</H2 ><P ><B CLASS="command" >Limit</B > {name} {sql}</P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN9982" ></A ><H2 ></H2 ><P > <B CLASS="command" >Limit</B > describes an <ACRONYM CLASS="acronym" >SQL</ACRONYM > query returning a list of <ACRONYM CLASS="acronym" >URL</ACRONYM > <CODE CLASS="varname" >IDs</CODE > and associates the list with the given name. The query is executed during execution of <TT CLASS="literal" >indexer -Eblob</TT >, <TT CLASS="literal" >indexer -Erewriteurl</TT > or <TT CLASS="literal" >indexer -Erewritelimits</TT > and its results are stored in the database in a compact way which allows to fetch the limit during search time very efficiently. </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > Use the <CODE CLASS="option" >fl</CODE > <SPAN CLASS="application" >search.cgi</SPAN > parameter to load a previously created fast limit at search time. </P ></BLOCKQUOTE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > Starting from the version <TT CLASS="literal" >3.2.39</TT >, it's also possible to specify the <CODE CLASS="option" >fl</CODE > parameter in the <B CLASS="command" ><A HREF="msearch-cmdref-dbaddr.html" >DBAddr</A ></B > command in <TT CLASS="filename" >search.htm</TT >, to set different limits for the databases listed in the template. </P ></BLOCKQUOTE ></DIV ><P > <SPAN CLASS="emphasis" ><I CLASS="emphasis" >Fast limits</I ></SPAN > work much faster than <SPAN CLASS="emphasis" ><I CLASS="emphasis" >section limits</I ></SPAN > which are activated by using the <CODE CLASS="option" >sl</CODE > search parameter described in <A HREF="msearch-doingsearch.html#search-params" >the Section called <I >Search parameters <A NAME="AEN4440" ></A ></I > in Chapter 10</A >. </P ><P > Unlike <SPAN CLASS="emphasis" ><I CLASS="emphasis" >section limits</I ></SPAN >, <SPAN CLASS="emphasis" ><I CLASS="emphasis" >fast limits</I ></SPAN > are suitable for huge databases and can use very complex <B CLASS="command" >WHERE</B > conditions, typically on the <CODE CLASS="varname" >url</CODE > and <CODE CLASS="varname" >urlinfo</CODE > <SPAN CLASS="application" >mnoGoSearch</SPAN > tables, but can also use joins with external tables. </P ><P > <SPAN CLASS="emphasis" ><I CLASS="emphasis" >Fast limits</I ></SPAN > work only with the databases supporting <CODE CLASS="option" >DBMode=blob</CODE > (see <A HREF="msearch-howstore.html#sql-stor-blob" >the Section called <I >Storage mode - blob <A NAME="AEN3342" ></A ></I > in Chapter 7</A >) and reuse the <CODE CLASS="varname" >bdict</CODE > table in the <SPAN CLASS="application" >mnoGoSearch</SPAN > database, however they are available for <CODE CLASS="option" >DBMode=single</CODE > and <CODE CLASS="option" >DBMode=multi</CODE > as well. </P ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > If you use <CODE CLASS="option" >DBMode=single</CODE > or <CODE CLASS="option" >DBMode=multi</CODE >, then run <TT CLASS="literal" >indexer -Erewritelimits</TT > to create or update <SPAN CLASS="emphasis" ><I CLASS="emphasis" >fast limits</I ></SPAN > after indexing. </P ></BLOCKQUOTE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Note: </B > If you use <CODE CLASS="option" >DBMode=blob</CODE > then <SPAN CLASS="emphasis" ><I CLASS="emphasis" >fast limits</I ></SPAN > are recreated automatically during execution of <TT CLASS="literal" >indexer -Eblob</TT > or <TT CLASS="literal" >indexer -Erewriteurl</TT >, however you can still use <TT CLASS="literal" >indexer -Erewritelimits</TT > for quick rewrite of <SPAN CLASS="emphasis" ><I CLASS="emphasis" >fast limits</I ></SPAN > without touching other data. </P ></BLOCKQUOTE ></DIV ><P > Starting from the version <TT CLASS="literal" >3.2.39</TT >, it is also possible to specify the <B CLASS="command" >Limit</B > command directly in <TT CLASS="filename" >search.htm</TT > without having to cache the desired limits using <KBD CLASS="userinput" >indexer -Eblob</KBD >. It can be useful for the limits whose <ACRONYM CLASS="acronym" >SQL</ACRONYM > queries work very efficiently and return a very small number of documents. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN10043" ></A ><H2 >Examples</H2 ><DIV CLASS="informalexample" ><P ></P ><A NAME="AEN10045" ></A ><PRE CLASS="programlisting" > 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'" </PRE ><P ></P ></DIV ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN10047" ></A ><H2 >See also</H2 ><P > <A HREF="msearch-doingsearch.html#search-params" >the Section called <I >Search parameters <A NAME="AEN4440" ></A ></I > in Chapter 10</A >, <A HREF="msearch-howstore.html#sql-stor-blob" >the Section called <I >Storage mode - blob <A NAME="AEN3342" ></A ></I > in Chapter 7</A >, <A HREF="msearch-cmdref-dbaddr.html" >DBAddr</A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="msearch-cmdref-langmapupdate.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="msearch-cmdref-loadurlbasicinfo.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >LangMapUpdate</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="msearch-cmdref.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >LoadURLBasicInfo</TD ></TR ></TABLE ></DIV ><!--#include virtual="body-after.html"--></BODY ></HTML >