The query syntax can be used in Squirro to search items.
Table of Contents
Title and body fields are taken into account when searching.
By default the terms entered are or-combined with an additional clause that at least 1/3 of all terms must appear in a document to match. That means for a query with up to five terms, at least one must match and for a query between 6 and 8 terms, at least two terms must match and so on.
Use AND, OR, NOT, + (plus sign) or - (minus sign) to explicitly combine terms. Be aware that the operators need to be in all capital letters.
The following restrictions apply:
- The + or required operator requires that the term after the + symbol exist somewhere.
- The - or prohibit operator excludes documents that contain the term after the - symbol.
|squirro AND memonic||Search documents that contain squirro and memonic.|
|squirro OR memonic||Search documents that contain either squirro or memonic.|
|+memonic -squirro||Search documents that contain memonic but do not contain squirro.|
|squirro NOT memonic||Search documents that contain squirro but do not contain memonic.|
Use brackets for grouping.
|(java AND solr) OR (python AND elasticsearch)||Search documents that contain both java and solar, or documents that contain both python and elasticsearch.|
|nektoon AND (squirro OR memonic)||Search documents that contain nektoon and either squirro or memonic.|
Use double quotes at the beginning and ending of a phrase to perform a phrase search. Phrases must match exactly (i.e. no stemming is applied within a phrase). You can also add a slop to the phrase with a tilde ~ at the end of the phrase to do a proximity search.
|"oracle financial services"||Search documents where oracle, financial and services match in exact this order and within three terms.|
|"oracle financial leasing"~3||Search documents where oracle, financial and leasing must match in exact this order but allow for up to 3 additional terms between them.|
Use * and ? to perform a wildcard search. Multiple character wildcard searches looks for 0 or more characters and the single character wildcard search looks for terms that match that with the single character replaced. Leading wildcards are allowed.
|Search documents that contain e.g. for squirro and squirrel.|
|Search documents that contain e.g. for memonic and mnemonic.|
|Search documents that contain e.g. for test and text.|
Only search in specific fields
|$title:France||Search documents that have the term France in the title|
|$body:France||Search document that have the term France in the document body|
|$item_id:PgnAQM1FTSCP1uNOesoE7Q||Search for a specific document by id|
$item_created_at >= "2015-02-01T00:00:00"
|Search documents created after Feb. 2, 2015|
|$item_created_at <= "2015-02-01T00:00:00"||Search documents created before Feb. 2, 2015|
Use any document facet to restrict the search.
|Country:France||Search documents that have a facet named Country with a value France|
|Country:"United Kingdom"||Search documents that have a facet named Country with a value United Kingdom|
|"Mixed Sentiment":Yes||Search document that have a facet named Mixed Sentiment with a value Yes|
You can use the following query syntax to sort the result:
Where <field_name> is either 'date' (default) or 'relevance' or any item field name you want to sort by and <order> is either 'asc' for ascending or 'desc' for descending. The order suffix is optional, default order is descending.
Additionally you can add a second (or third etc) sorting criteria by adding
to the query syntax.
It is possible to control the time increments shown in the main timeline and in the dashboard widgets. To do so, add
time_increment:<value> to a query.
Here is the Bugzilla Project without a time_increment set:
The same query, with time_increment:year
Possible values are:
This can also be combined with values for more flexibility. For example:
There is a performance impact when using a time increment that results in many individual increments. This impact is both in the user interface, where each increment needs to be drawn, as well as on the Elasticsearch level, where they need to be calculated. So use the
time_increment setting carefully.