## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:Unknown-Page
##master-date:Unknown-Date
#acl MoinPagesEditorGroup:read,write,delete,revert All:read
#format wiki
#language en

= Queries =

With the MoinMoin search engine the same search patterns are allowed in the search and title search input fields as in the parameters for the {{{FullSearch}}}  {{{(FullSearchCached)}}} and the {{{PageList}}} macros.

 * There may be several search term seperated by white space
  * Terms are combined by default with an AND operation - only pages containing all search term are returned
  * Double or single quotes may be used to include white space within search terms (phrase search)
 * `-` before a search term means NOT. Pages containing this term are excluded from the result
 * `regex:TERM` is treated as a regular expression.  !MoinMoin follows Python regex rules (see [[http://docs.python.org/lib/re-syntax.html]] for more info)
 * `title:TERM` searches in pages whose titles match TERM
  * Normal search terms do search the titles, too. Matches in titles get more weight than matches in pages.
 * {{{case:TERM}}} searches case sensitive
 * {{{linkto:TERM}}} searches for links to TERM
 * {{{language:LANG-ISO-CODE}}} searches for pages written in a given language ISO code, e.g. en, de
 * {{{category:CAT}}} searches for pages belonging to CategoryCAT; replaces old regular expression
 * {{{mimetype:TYPE}}} searches for pages and attachments with mimetype TYPE, e.g. image/png
  /!\ Currently only available with Xapian!  ''Does this comment apply to item above or below??''
 * {{{domain:TERM}}} searches for pages in a domain like underlay or system (for system pages)
 * {{{title:}}}, {{{regex:}}}, {{{linkto:}}} and {{{case:}}} may be used in combination in one search term
  * these modifiers may be abbreviated to any length: e.g. {{{re:}}}, {{{t:}}}, {{{reg:}}}, {{{cas:}}}, {{{l:}}}
  * If you want to use multiple prefixes, you have to concatenate them like this: `t:re:TERM`
  * `-` must be put before any other modifiers
 * `OR` operator has a lower precedence than the implicit AND (e.g., `car deisel or gas` will find any page containing both "car" and "deisel", but will also hit on pages containing "gas", even if "car" is not on the page.)
 * Parentheses can be used for grouping

== Examples ==

{{{
title:Help macro
}}}
searches for help pages that contain the word "macro".

{{{
apple (computer or "operating system")
}}}
searches for pages containing the word "apple" and at least one of "computer" or "operating system".

{{{
windows winamp or linux xmms
}}}
searches for pages containing both "windows" and "winamp", and also for pages containing both "linux" and "xmms".

{{{
"is text"
}}}
Will match "th'''is text'''" or "'''is text'''s". Quotes are used only to include whitespace, and do not mean "exactly this phrase".

{{{
linkto:WindowsPage title:Linux
}}} searches for pages that have "Linux" in the page name and that link to !WindowsPage

{{{
r:\bdog\b
}}} searches for the word "dog" and does ''not'' find e.g. the word "doggy".

{{{
help -domain:system
}}} search for pages containing the word "help" but which are not system pages

{{{
category:homepage title:thomas
}}} search for pages in CategoryHomepage with the word "thomas" in the title (user homepages of all persons named Thomas)

== TitleSearch and PageList ==
 * uses the same patterns
 * {{{title:}}} is virtually added to every search term

== Xapian ==

See HelpOnXapian for more information on Xapian and its setup.