When querying in Ragic, you can write some syntax in the top search bar to combine multiple terms, and use boolean operators to form a more complex query to find specific entries, similar to the google syntax.
You can also modify query terms to provide a wide range of searching options.
While doing this, you can search any field by typing the field name followed by a colon ":" and then the term you are looking for.
Boolean operators allow terms to be combined through logic operators. Ragic supports AND, "+", OR, NOT and "-" as Boolean operators. Please note that the boolean operators are case-sensitive.
OR
The OR operator is the default conjunction operator. This means that if there is no Boolean operator between two terms, the OR operator is used. The OR operator links two terms and finds a matching entry if either of the terms exist in an entry. The symbol || can be used in place of the word OR.
To search for documents that contain either "customer service", or just "customer" use the query:
"customer service" customer
or
"customer service" OR customer
AND
The AND operator matches documents where both terms exist anywhere in the text of a single entry. The symbol && can be used in place of the word AND.
To search for documents that contain "customer service" and "Service Issues" use the query:
"customer service" AND "Service Issues"
+
The "+" or required operator requires that the term after the "+" symbol exist somewhere in a the field of a single entry.
To search for entries that must contain "customer" and may contain "service" use the query:
+customer service
NOT
The NOT operator excludes entries that contain the term after NOT. The symbol ! can be used in place of the word NOT.
To search for entries that contain "customer service" but not "Service Issues" use the query:
"customer service" NOT "Service Issues"
Note: The NOT operator cannot be used with just one term. For example, the following search will return no results:
NOT "customer service"
-
The "-" or prohibit operator excludes entries that contain the term after the "-" symbol.
To search for entries that contain "customer service" but not "Service Issues" use the query:
"customer service" -"Service Issues"
You can place single and multiple character wildcard searches within single terms (not within phrase queries).
To perform a single character wildcard search, use the "?" symbol.
To perform a multiple character wildcard search, use the "*" symbol.
The single character wildcard search looks for terms that match that with the single character replaced.
For example, to search for "text" or "test" you can use the search
te?t.
Multiple character wildcard searches looks for 0 or more characters. For example, to search for test, tests or tester, you can use the search
test*.
You can also use the wildcard searches in the middle of a term, such as
te*t
Note: You cannot use a * or ? symbol as the first character of a search.
To do a fuzzy search (finding stings that match a pattern approximately, rather than exactly) use the tilde, "~" symbol at the end of a single word term. For example, to search for a term similar in spelling to "roam" use the fuzzy search
roam~. This search will find terms like foam and roams.
An additional (optional) parameter can specify the required similarity. The value is between 0 and 1, with a value closer to 1 only terms with a higher similarity will be matched. For example:
roam~0.8
The default that is used if the parameter is not given is 0.5.
You can find words that are within a specific distance away. To do a proximity search use the tilde, "~", symbol at the end of a phrase. For example, to search for a "customer" and "breakfast" within 10 words of each other in an entry, use the search:
"customer breakfast"~10
Usually, the left sidebar search tool would have options to do a range search for specific field types, such as date fields, but range searches are also supported in Ragic.
Range queries allow one to match entries whose field values are between the lower and upper bound, specified by the range query. Range queries can be inclusive or exclusive of the upper and lower bounds. Sorting is done lexicographically.
Date:[20020101 TO 20030101]
This will find entries whose "Date" field has values between 20020101 and 20030101. These dates would be inclusive to the search. Note that range queries are not only reserved for date fields. You could also use range queries with other fields:
title:{Aida TO Carmen}
This will find all entries whose titles are alphabetically between Aida and Carmen, but not including Aida and Carmen.
Note: Inclusive range queries are denoted by square brackets. Exclusive range queries are denoted by curly brackets.
You can boost the relevance level of matching entries, based on the terms found. To boost a term use the caret "^" symbol with a boost factor (a number) at the end of the term you are searching. The higher the boost factor, the more relevant the term will be.
Boosting allows you to control the relevance of an entry by boosting its term. For example, if you are searching for customer service,
and you want the term "customer" to be more relevant, you can boost it using the ^ symbol along with the boost factor next to the term. You can type:
customer^4 service
This will make documents with the term customer appear more relevant. You can also boost Phrase Terms as in the example:
"customer service"^4 "Customer Service"
By default, the boost factor is 1. Although the boost factor must be positive, it can be less than 1 (e.g. 0.2)
You can use parentheses to group clauses to form sub queries. This can be very useful if you want to control the boolean logic for a query.
For example, to search for either "customer" or "service" and "address" use the query:
(customer OR service) AND address
This eliminates any confusion, and makes sure that address must exist, and either term customer or service may exist in the resulting entries.
You can use parentheses to group multiple clauses to a single field.
To search for a title that contains both the word "return" and the phrase "pink panther", use the query:
title:(+return +"pink panther")