Important things to keep in mind
- If you don't use any special operator in a query (no &, |, -, ~, etc, except *), an OR operator ( | ) will be inserted between all words. Otherwise, an AND ( & ) operator will be inserted wherever no OR operator is found.
- The search engine reduces all words to their stems. For example, a search for "intentionalities" will match the same documents as a search for "intentionality". A search for "dualist" should give the same result as a search for "dualism". However, documents with exact matches are ranked significantly higher than documents with stem matches only. No stemming is done when the * operator is used.
- Word order matters. For example "theories of consciousness" and "consciousness of theories" will return different results.
- You can use + and - as on Google, and many other operators not found on Google (read on). + is equivalent to the AND operator (&).
- Our search engine conflates British and American spelling variations. For example, searches for 'color' and 'colour' should give you the same results.
- Arbitrarily nested brackets and negations are possible.
- AND and OR operators:
content & consciousness | experienceIf you don't use any special operator in a query (no &, |, -, ~, etc, except *), an OR operator ( | ) will be inserted between all words. Otherwise, an AND ( & ) operator will be inserted wherever no OR operator is found. So in the example above the & after "content" is superfluous.
OR operator precedence is higher than AND, so the above is equivalent to:
content (consciousness | experience)
- NOT operator:
- truncation operator:
dualis*Matches both "dualism" and "dualist".
- field search operator:
@title hello @descriptors worldThe following fields can be searched:
- format (value is either 'book' or 'article')
- pubtype (value is one of: 'book', 'journal', 'chapter', 'thesis', 'manuscript')
- source (journal or anthology)
You can specify multiple fields like this:
@(title,descriptors) hello worldThe @ operator affects all expressions following it. If you want "world" to be matched against every field, you can do this:
@(title,descriptors) hello @* worldOr more simply:
world @(title,descriptors) hello
- phrase search operator:
"hello world"Matches the precise phrase "hello world".
- same-sentence operator:
animal SENTENCE rightsMatches all documents which contain a sentence with both "animal" and "rights".
- nearby operator:
animal NEAR:4 rightsMatches all documents which contain the words "animal" and "rights" within four words of each other. NEAR:n can connect any expressions, not just words.
- proximity search operator:
"hello world"~10Matches all documents which contain the words "hello" and "world" within less than twelve (10+2) words of each other. The NEAR:n operator above is more flexible.
- quorum matching operator:
"the world is a wonderful place":3This example will match all documents that have at least 3 of the 6 specified words.
- strict order operator (aka operator "before"):
aaa << bbb << cccThe order operator has the lowest priority and can be applied to arbitrarily complex expressions.
- field-start and field-end modifiers:
A more complex example
Additional notesThe query must be possible to compute without involving an implicit list of all documents. Correct query:
aaa -(bbb -(ccc ddd))Incorrect queries:
aaa | -bbb