dd9
Boolean Operators
-----------------

You can use the Boolean operators and, or or not in searching. Without
these Boolean operators Swish-e will assume you're and'ing the words
together. The operators are not case sensitive. These three searches
are the same:

    foo bar
    bar foo
    foo AND bar

The not operator inverts the results of a search.

    not foo

finds all the documents that do not contain the word foo.

Parentheses can be used to group searches.

    not (foo and bar)

The result is all documents that have none or one term, but not both.

To search for the words and, or, or not, place them in a double
quotes.

    "not"

will search for the word "not".

Other examples:

    smilla or snow

retrieves files containing either the words "smilla" or "snow".

    smilla snow not sense
    (smilla and snow) and not sense

retrieves first the files that contain both the words "smilla" and
"snow"; then among those the ones that do not contain the word
"sense".


Truncation
----------

The wildcard (*) is available, however it can only be used at the end
of a word.

    librarian

This query only retrieves files which contain the given word.

On the other hand:

    librarian*

retrieves "librarians", "librarianship", etc. along with "librarian".


Order of Evaluation
-------------------

In general, the order of evaluation is not important. Internally
swish-e processes the search terms from left to right. Parenthesis can
be used to group searches together, effectively changing the order of
evaluation. For example these three are the same:

    foo not bar baz
    not bar foo baz
    baz foo not bar

but these two are not the same:

    foo not bar baz
    foo not (bar baz)

The first finds all documents that contain both foo and baz, but do
not contain bar. The second finds all that contain foo, and contain
either bar or baz, but not both.

It is often helpful in understanding searches to use the boolean terms
and parenthesis. So the above two become:

    foo AND (not bar) AND baz
    foo AND (not (bar AND baz))

These four examples are all the same search (assuming that AND is the
default search type):

    juliet not ophelia and pac
    (juliet) AND (NOT ophelia) AND (pac)
    juliet not ophelia pac
    pac and juliet and not ophelia

Looking at the the first three searches, first Swish-e finds all the
documents with "juliet". Then it finds all documents that do not
contain "ophelia". Those two lists are then combined with the boolean
AND operator resulting with a list of documents that include "juliet"
but not "ophelia". Finally, that list is ANDed with the list of
documents that contain "pac" resulting.

However it is always possible to force the order of evaluation by
using parenthesis. For example:

    juliet not (ophelia and pac)

retrieves files with "juliet" that do not contain both words "ophelia"
and "pac".


Phrase Searching
----------------

To search for a phrase in a document use double-quotes to delimit your
search terms.  You can not use boolean search terms inside a phrase.
That is:

    this and that

finds documents with both words "this" and "that", but:

    "this and that"

finds documents that have the phrase "that and that". A phrase can
consist of a single word, so this is how to search for the words used
as boolean operators:

   this "and" that

finds documents that contain all three words, but in any order.
.

0

