FQL Simple Query Language
Applies to: SharePoint Server 2010
The Simple Query Language support enables you to create search boxes with simple operators, such as those found on common search engines on the Web. This includes support for mixing words or phrases and mixing AND, OR, and NOT in a simpler way than by using the more formal FAST Query Language (FQL) syntax.
This format is supported within the syntax of the STRING operator, as follows.
string("<simple query language expression>", mode="simpleall")
string("<simple query language expression>", mode="simpleany")
simpleall: A logical AND is applied between the terms and/or phrases within the <simple query language expression>, unless the terms are preceded with a minus ("-") character.
simpleany: A logical OR is applied between the terms and/or phrases within the <simple query language expression>, unless the terms are preceded with a plus ("+") or minus ("-") character.
The terms or phrases in the <simple query language expression> must be separated with white space.
If the <simple query language expression> contains a phrase, the double quotation marks must be escaped with the backslash ("\") character. For example, if a user enters the query "king lear" shakespeare, the resulting FQL STRING operator must be formatted as follows:
string("\"king lear\" shakespeare", mode="simpleall|simpleany")
Note
The FQL simple query language does not support all the options of the SharePoint Keyword Syntax used in the SharePoint query Web Parts. To expose the same query syntax in a custom application, review the options described in Supported Query Languages.
The length of FAST Query Language queries is limited to 2,048 characters.
SIMPLEALL Mode
SIMPLEALL mode (mode="simpleall") means that all query terms or phrases (separated by white space) have to be matched in the returned documents. This equals a logical AND between the terms or phrases. This default matching mode can be overridden by using the prefix plus ("+") or minus ("-"), as described in the following table.
Prefix |
Description |
---|---|
+ |
This prefix is allowed, but ignored. The following expressions are equivalent and return all documents that include both "goethe" and "faust": +faust +goethe +faust goethe faust +goethe faust goethe |
- |
This prefix applies a logical NOT to the following term. The following expression returns all documents that include "goethe" and "faust", but not if these documents also include "marlowe": goethe faust -marlowe |
Note
Spaces are not allowed between the "+" or "-" character and the following term or phrase.
SIMPLEANY Mode
SIMPLEANY mode (mode="simpleany") means that at least one of the query terms or phrases (separated by white space) has to be matched in the returned documents. This default matching mode can be overridden by using "+" or "-" as described in the following table.
Using this mode corresponds to using the OR Boolean query parameter. In mode="simpleany" one of the query terms or phrases has to be matched if no + or - operators are applied (only one or more terms delimited by whitespace.)
Prefix |
Description |
---|---|
+ |
The term or phrase following the "+" must be matched (logical AND). Examples The following expression returns all documents that include "goethe" and "faust": +faust +goethe The following expression returns all documents that include "faust". The documents that also include "goethe" will get increased dynamic rank and appear higher in the result set: +faust goethe The following expression returns all documents that include "shakespeare". The documents that also include the phrase "king lear" will get increased dynamic rank and appear higher in the result set: \"king lear\" +shakespeare |
- |
This prefix applies a logical NOT to the following term. Examples The following expression returns all documents that include "goethe" AND "faust", but NOT if these documents also include "marlowe": +goethe +faust -marlowe The following expression returns all documents that include "goethe", but not if these documents also include "marlowe". The documents that also include "faust" will get increased dynamic rank and therefore appear higher in the result set: +goethe faust -marlowe The following expression is a special case that will be evaluated by using an approximation: faust -marlowe It will be evaluated as follows: andnot(faust, marlowe) |
Note
Spaces are not allowed between the "+" or "-" character and the following term or phrase.
See Also
Concepts
FAST Search Query Integration Overview
FAST Query Language (FQL) Syntax Reference
The FQL Property Specification