Search scoping

Funnelback can use a document’s URL to filter the search results. The scope CGI parameter will restrict the results to the document URLs that match the parameter.

For example, the query:


will query the shakespeare collection, but limit the results to those documents that come from the server called topaz.

Note that the scope is a sub-string match to the document’s URL.


The scope is a comma-separated list of strings that are matched against the URLs of documents that match the query terms. You can negate the match by placing a minus-sign at the start of a string.


  • Protocols should not be included in the scoped search. E.g. Use '' and not ''.


Scopes are commonly used in search templates to:

  • restrict the search to a specific web site (or sub-site); or

  • allow the user to dynamically choose the site.

If you wish to hard-code the scope, then create a hidden element to set the scope:

<input type="hidden" name="scope" value=",">

Otherwise, you could use a select list to set the scope:

<@s.Select name="scope"
  options=["=All","macbeth=Macbeth","much_ado=Much Ado About Nothing","merchant=Merchant of Venice"] />

Note the first option All sets the scope to an empty string, which means all documents.


The scope restriction:,

will return documents whose URLs match and exclude any that match