Nebula Search Syntax
Create search criteria by entering "conditions" based on the presence or absence of text and metadata in a file. Multiple conditions can be entered to create more advanced search criteria.
Search criteria can be simple (all documents containing the word "President") or complex (only PDF documents with the word "President" created before January 1, 2000). Search criteria can be further manipulated and results reviewed prior to performing the search.
Searching for Phrases
Search Nebula for phrases by entering the terms to locate as a single line enclosed with quotation marks. The phrase must contain the terms in the exact order as they appear in a document’s extracted text or metadata for that document to be returned as a result.
Example
Searching for “apple pie”
in the extracted text or metadata would return a document with the following ...
The apple pie was delicious.
but not ...
The apple was used in making the pie.
Parenthesis can be used to group terms with identical conditions within a phrase.
Example
"(apple OR orange) juice"
searches for “apple juice” OR “orange juice”
Using Wildcards
Nebula searches can use wildcard characters for both single and sequential character searches. The following wildcards can be used in Nebula searches:
? (for a single character)
* (for text matching zero or more sequential characters)
Examples
A text search for h?t
would locate all documents with the words hat, hit, hot, and hut,, but not hoot or heist.
A text search for run*
would locate all documents with the word run, running, runner, runneth, rune, and runt.
You can use wildcard characters in the beginning, middle, or end of a term. For example, te*t
would match test, text, and tenant, while *est
would match pest and test.
Creating Proximity Searches
Proximity searches return results of keywords appearing within a defined span of words within the same document. Terms are entered as one line, enclosed within quotes or parentheses with a tilde and a number defining the span of words. Using NOT enables you to create “negative proximity” conditions.
Examples
The following proximity search locates document with the term apple
and pie
, where PIE is be within 40 words of APPLE in the extracted text or metadata:
(apple pie)~40
Such as....
The apple was used to make the pie.
(apple* orange)~10
will search APPLE and wildcard variations of APPLE within 10 words of ORANGE.
Such as ...
An apple is not the same as an orange.
Applesauce does not taste like orange juice.
(apple* NOT orange)~3
will search APPLE and wildcard variations of APPLE not within 3 words of ORANGE.
(“apple juice” orange)~3
will search the phrase “APPLE JUICE” within 3 words of ORANGE.
Such as ...
The apple juice is not orange in color.
(“apple juice” NOT orange)~3
will search the phrase “APPLE JUICE" not within 3 words of ORANGE.
Using Boolean Operators
Boolean operators allow terms to be combined through logic operators. Lucene supports AND, "+", OR, NOT and "-" as Boolean operators.
Note: Boolean operators must be ALL CAPS.
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 document if either of the terms exist in a document. This is equivalent to a union using sets.
For example, to search for documents that contain either "apple pie" or just "orange" use the following query:
"apple pie"
OR orange
To find "apple" or "orange" use one of the following queries:
apple orange
apple
OR orange
AND
The AND operator finds documents where both terms exist anywhere in the text of a single document. This is equivalent to an intersection using sets.
For example, to search for documents that contain "apple juice" and "orange soda" use the query:
"apple juice"
AND "orange soda"
NOT
The NOT operator excludes documents that contain the term after NOT. This is equivalent to a difference using sets.
For example, to search for documents that contain "apple juice" but not "orange soda" use the query:
"apple juice"
NOT "orange soda"
Note: The NOT operator cannot be used with just one term.
NOT "apple juice"
Grouping
Lucene supports using parentheses 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 either "orange" or "apple" and "banana" use the query:
(orange
OR apple
) AND banana
This eliminates any confusion and makes sure that "banana" must exist and either term "orange" or "apple" may exist.