- Special Characters
- Wildcard Searches
- Fuzzy Searches
- Proximity Searches
- Phrase Searches
- Range Searches
- Boosting a Term
- Date Searches
- Boolean Operators
Special Characters
The following characters each have a special meaning (as described below) when used in a search:
+ - && || ! ( ) { } [ ] ^ " ~ * : ?
If you wish to use them according to their standard grammatical usage you must escape each with a backwards slash. For example:
Diabetes\: What do the Numbers Mean\?
Wildcard Searches
To perform a single character wildcard search use the ? symbol. For example, to search for "text" or "test" you can use the search:
te?t
To perform a multiple character, 0 or more, wildcard search use the * symbol. 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. e.g.
te*t
Note: You cannot use a * or ? symbol as the first character of a search.
Fuzzy Searches
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 roam.
An additional 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.
Proximity Searches
Use the tilde ~ symbol at the end of a Multiple word Term. For example, to search for abdominal and pain that are within 10 words apart:
"abdominal pain"~10
Range Searches
To perform a range search you can use the { } characters. For example to search for a term that starts with either A, B, or C:
{A TO C}
The same can be done with numeric fields:
{10 TO 100}
Phrase Searches
Enlose a phrase in quotation marks to search for that exact phrase. For example to search for abdominal pain, use:
"abdominal pain"
Boosting a Term
To apply more value to a term, you can use the ^ character. For example, you can try the following search:
abdominal pain^5
Which will give more value to the term "pain"
Date Searches
Date searches
To search on dates, you must search via the YYYYMMDD format.
dateRevised: {20110101 TO 20111230} All records that have a revision date between January 1, 2011 and December 30, 2011 dateRevised: 20120102 All records that have a Revision Date of January 2, 2012 dateRevised: 2012* All records that have a Revision Date in 2012
Exact date and time searches
To find an exact date, the complete ISO 8601 Date syntax must be used. Alternatively, date math syntax can be used to get relative dates. For example, you can try variations of the following searches:
dateRevisedIso:[* TO NOW] dateRevisedIso:[1976-03-06T23:59:59.999Z TO *] dateRevisedIso:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z] dateNextRevisedIso:[NOW-1YEAR/DAY TO NOW/DAY+1DAY] dateRevisedIso:[1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z+1YEAR] dateRevisedIso:[1976-03-06T23:59:59.999Z/YEAR TO 1976-03-06T23:59:59.999Z]
Boolean Operators
Boolean operators allow terms to be combined with logic operators. The following operators are allowed: AND, OR, and NOT.
Note: Boolean operators must be ALL CAPS
ANDThe AND operator is the default conjunction operator. This means that if there is no Boolean operator between two terms, the AND operator is used. The AND operator matches records where both terms exist anywhere in the field of a record.
To search for records that contain "abdominal" and "pain" use the query:
abdominal AND pain
or simply
abdominal painOR
The OR operator links two terms and finds a matching record if either of the terms exist in a record.
To search for documents that contain either "abdominal pain" or just "pain" use the query:
"abdominal pain" OR painNOT
The NOT operator excludes records that contain the term after NOT.
To search for documents that contain "abdominal" but not "pain" use the query:
abdominal NOT pain