Search operation table

The table below provides syntax of all elements allowed in text search queries. See also Query language specification, Search flow.

Parentheses( inner-query )Parentheses are used to specify order of operations.
  • term1 | (term2 & term3)
  • ("total expenses" | "total costs") & (82000 ~~ 83000
Field specifierfield-name : inner-queryField specifier is used to specify field name.
  • content : term
  • creationdate : (2010 ~~ 2013)
  • filename : report & creationdate : 2009
Exact phrase query specifier" exact-phrase-query "Exact phrase query specifier is used to specify phrase for phrase search.
  • "term1 term2 term3"
  • "computational complexity theory"
  • "formal language" AND harrison
And operationleft-query & right-query
left-query AND right-query
And operation is used to find documents that contain both left query and right query.
  • term1 & term2
  • term1 AND term2
  • computational & complexity
Or operationleft-query | right-query
left-query || right-query
left-query OR right-query
Or operation is used to find documents that contain left query, or right query, or both.
  • term1 | term2
  • term1 || term2
  • term1 OR term2
  • "cumulative distribution function" OR "cumulative density function"
Not operation! inner-query
NOT inner-query
Not operation is used to find all documents which do not contain inner query.
  • ! term
  • NOT term
  • author : (Cardano AND NOT Gerolamo)
Macro name specifier@macro-nameMacro name specifier is used to specify name of macro within search query that will be replaced with the body of the macro before parsing the query.
  • @query_macro
  • @macro1 & @macro2
Regular expression specifier^regular-expressionRegular expression specifier is used to specify query that is regular expression.
  • ^^[0-9]{1,5}$
Numeric range specifierstart-number ~~ end-numberNumeric range specifier is used to specify range for numeric range search.
  • 13 ~~ 42
  • 10000000000 ~~ 100000000000
Date range specifierdaterange( start-date ~~ end-date)
where start-date and end-date are dates in the format 'yyyy-MM-dd'.
Date range specifier is used to specify range for date range search.
  • daterange(2017-09-28 ~~ 2017-11-11)
Wildcard (since v.18.12)? - wildcard character,
?(N~M) - wildcard character range,
*N - wildcard word,
*N~~M - wildcard word range,
where N and M are in the range from 0 to 255.
Wildcard characters and wildcard words are used to search for words with unknown characters and phrases with unknown words, respectively.
  • ?ffect - for 'affect', 'effect'
  • princip?(2~4) - for 'principal', 'principle', 'principles', 'principally'
  • ?(0~2)sure - for 'assure', 'ensure', 'sure'
  • "\"First law *1 thermodynamics\"" - for 'First law of thermodynamics'
  • "\"Frodo *1~~5 Pippin\"" - for 'Frodo spoke to Pippin', 'Frodo stripped the blankets from Pippin'
Escape sequence (since v.19.2)\N
where N can be one of
( ) : " & | ! ^ ~ * ? \
- or -
s (for space character)
- or -
where h is hexadecimal digit (for any Unicode character)
The escape sequence allows a special character to be used in a query as it is. Note that an escaped character must be represented in Alphabet in order for it to be indexed as a valid character (not as Separator).
  • \& - escaping & character
  • \~ - escaping ~ character
  • \s - escaping space character
  • \u0026 - escaping & character (Unicode code)
  • R\&B - searching for ‘R&B’ as a whole word (& character must have an appropriate type in Alphabet before indexing)

More resources

GitHub examples

You may easily run the code from documentation articles and see the features in action in our GitHub examples:

Free online document search App

Along with full featured .NET library we provide simple, but powerful free Apps.

You are welcome to search over your PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX and more with our free online Free Online Document Search App.