Answered By: Kathryn Ruddock
Last Updated: Dec 12, 2017     Views: 27

The Basic Search and Advanced Search features in PRISM are powered by Apache's Lucene text search engine. View full documentation on Apache Lucene - Query Parser Syntax or check out some of the quick tricks and tips below.

Complex queries can be carried out with the syntax provided by Lucene's text search engine.  These queries can be set in the first (top) search box, like this:

Click Go to execute the search.

Phrase searching

Double quotes must surround phrases or words within the phrase will be treated as separate search terms in full text. This means the query below would return results from full text, unless the search was set in a specific field, such as the title or abstract.

Example: if you wanted to search for the phrase decision tree then it should appear as follows.

"decision tree"

Search within a specific field

You can search within a specific field by designating the Dublin core metadata field you would like to search, followed by a semi-colon and then the search string.

Example: To search for the phrase decision tree in the title field you would input:

title:"decision tree"

Search for a specific author:

To search for a name in the author field, input:

Example: author:smith OR author:"smith, john" OR author:"smith, john a"

Search for a specific advisor:

To search for a name in the advisor field, input:

Example: dc.contributor.advisor:smith

Using a wildcard

A single character wildcard is denoted by ? while a multiple character wildcard is denoted by *. (Don't use this feature with double quotes, or it will treat your wildcard search as an exact phrase, that is, as a word containing ?  or *. 

Example: A single character wildcard search to retrieve woman, women in full text:

wom?n

Example: A multiple character wildcard search, to retrieve secure, security in the title field:

title:secur*

Fuzzy search

A fuzzy search works only with single terms and is appropriate when you want to cast a broad net and is denoted by ~. This may be a useful if you are searching for an acronym but are unsure about its exact spelling and usage.

Example: A fuzzy search:

nsp~

You can specify how fuzzy the search should be by adding a value from 0 (more fuzzy) to 1 (less fuzzy).  The default is 0.5

Example: nsp~0.1

Proximity search

A proximity search allows terms to be searched for on the condition that each word specified is within a certain number of words away from the other(s). A proximity search is denoted with a ~ at the end of a set of words in double quotes, and a value that indicates the maximum numbers of words that separate the terms.

Example: To search for "decision" and "tree" within the same sentence you could input:

"tree decision"~10

Boosting a search term

If you are performing a multiple term search, you can increase the weight of a term's relevance to the search by using the ^ symbol and a boost factor.

Example: "decision tree" "nps"^5

Boolean operators

Boolean operators can add logical structures to searches. Available operators include AND, +, OR, NOT, and -

Operators must be in upper case: AND, NOT, OR

Example:

decision AND tree ...will return documents that contain both terms in full text.

decision +tree ...will return documents that contain both decision and tree in full text.

decision OR tree ...will return documents that contain decision or tree, in full text

decision NOT tree ...will return documents that contain decision but not tree.

decision -tree ...will also return documents that contain decision but not tree.

title:decision AND title:tree ...will return documents that contain decision and tree, with both terms in the title field.

Grouping

Logical structures can be grouped together by using parentheses.

Example:

"decision tree" AND ("University of Calgary" OR UCalgary)

Date ranges

Find a span of documents published during a period of time.  DateIssued is the publish date.

Example:

dateIssued:[1986 TO 1990]