Users can use the following special characters in the search string for more precise searching.

+ Plus

The “+” or required operator requires that the term after the “+” symbol exists somewhere in each search result. As described in the Basic Search Syntax section, the “+” and the AND operators are interchangable, and when no operator is specified, “+” is implied. To search for records that must contain anthracis and may contain bacillus use the query:

bacillus +anthracis

– Minus

The “-” or prohibit operator excludes records that contain the term after the “-” symbol. To search for records that contain bacillus but not anthracis use the query:

bacillus -anthracis

( ) Parentheses

Parentheses can be used to group clauses to form sub queries. This can be very useful if you want to control the boolean logic for a query. To search for records that contain either influenza or rhinovirus and not haemophilus use the query:

(influenza OR rhinovirus) -haemophilus

Parentheses can also be used to search for multiple search terms in a single field. To search for terms that contain the words opiates and confirm in the Component use the query:

Component:(opiates confirm)

To search for terms that contain the word opiates or the word confirm in the Component use the query:

Component:(opiates OR confirm)

~ Tilde

To do a fuzzy search use the tilde symbol (“~”) at the end of a single search term. Fuzzy searches can be used when you are not sure about the spelling of a word. For example, to search for a term similar in spelling to “haemofhilus” use the fuzzy search:

haemofhilus~

An additional (optional) parameter between 0 and 1 can specify the degree of similarity required. With a value closer to 1, only terms with a higher similarity will be matched. For example:

haemofhilus~0.8

returns a large number of terms, but

haemofhilus~0.95

does not return any.

The default that is used if the optional parameter is not given is 0.5.

” “~ Proximity search

The proximity search allows you to find records containing words within a specific distance of each other. To do a proximity search use the tilde symbol (“~”) at the end of a phrase in quotes. For example to search for function and panel within 1 word of each other use the search:

"function panel"~1

[ ] { } Range searches

Range searches allow you to find records whose field values are between the specified lower bound and upper bound.

To perform an inclusive range search use square brackets. This type of query will return records where the specified field contains the lower bound, the upper bound, or any value between the lower bound and upper bound. For example, to search for Parts created between 20170101 and 20170601, inclusive, use the following query in the Part Search tab:

createdon:[20170101 TO 20170601]

To perform an exclusive range search use curly brackets. This type of query will only return records where the specified field contains a value between the lower bound and the upper bound without containing either the upper or lower bound values themselves. For example, to search for records created between 20170101 and 20170601, exclusive (i.e., not created on either January 1, 2017 or June 1, 2017), use the query:

createdon:{20170101 TO 20170601}

Escaping special characters

Special characters that are part of the query syntax can be escaped and treated as data. The current list of special characters is

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

To escape these characters use the \ (backslash) before the character. For example to search for O157:H7 use the query

O157\:H7