# Advanced Search

**This form allows you to perform an advanced search. You only need to fill in one field below. This can be any field. If you select "not" as your match criteria, you must select one other field.**

# Advanced Search returning JSON, XML, and more

# Explanation of Terms, Operators, Queries, and Grouping

**Here, you will find an explanation on how the syntax to the search engine works.**

Our site uses a query syntax like the lucene query syntax from the

**Apache Lucene**opensource search engine. A briefer explanation of the syntax follows.

**Terms:**

The search engine supports two types of terms, single terms and phrases.

A single term is a single word such as "test" or "hello".

A phrase is a group of words such as "duck and cover".

**Field Specific queries:**

If you want to restrict your search to a specific part of the metadata, you can append in front the term a Field Shortcut, such as:

will look for "Duck and Cover" only in the title of the items. For more information on Field Shortcuts, see section about Field Shortcuts Expansion

NOTE: searching in only a restricted set is better than using the default set for two reasons:

- its much faster
- the results are much more relevant

**Boolean Operators:**

By default, the operator is AND, which means that the query:

is exactly similar to test AND hello, which means that documents containing the term "test" AND the term "hello" will be returned.

The query:

will return documents either containing the term "test" OR the term "hello". The query:

will return documents that contain the term "test" but not the term "hello" NOTE: using the NOT operator, be sure to supply at least one term without the NOT, or search will fail (the query NOT test is not valid).

**Range Queries:**

range queries allow you to search for documents whose field match values in between two bounds, for example:

will return items whose download count is between 1000 and 2000. using [] will include the bounds in the search, and () will exclude the bounds from the search If you dont want to specify a bound, you can use the special keyword "null":

will search for items with more that 10000 downloads.

**Grouping:**

The search engine supports using parentheses to group clauses to form subqueries, for example:

you can also use this feature within a field:

**Fuzzy Queries:**

If you are not sure how to spell a word you can ask the search engine to try to figure it out for you. To do this, append a ~ after the term to apply it on, for example:

will find the words buttonwood, as well as cottonwood and buttonware. NOTE: this query involves a lot of computing, so use it wisely and expect to wait a little for results to come in!