# Search tips and techniques


The search box at the top of the search page works like a normal search engine box: use a keyword or phrase to search across all fields. It can also be used to construct more powerful and specific queries. The tips below may help you get more out of your search.

You don't have to hit enter or click a search icon: the results in the list or grid below refresh as you type.

The search box will remember your previous queries. Click on the blank box to see them and delete unwanted ones with the bin icon.

# Special characters and phrases

Special characters (like apostrophes, colons and full stops) should be enclosed in double quotes or escaped with a backslash.

eg for Mark's, you should use either Mark\'s or "Mark's"

If you're searching for an identifier that includes special characters, enclose it in quotes: "DZSWS:1971.13"

You can search for complete phrases (including special characters) using quotes:

individual brushstrokes will find both individual and brushstrokes "individual brushstrokes" will find only the complete phrase.

# Searching individual fields

You can also use field names and identifiers in your data to search specific fields in your data against specific criteria.

# Searching for multiple terms

You can use the Boolean operators AND/OR to match multiple terms in your data.

You can search for values across mutiple fields in your data, matching either or both terms:

  • material.value:"pot" AND maker.name:"John Smith" will find records for all pots made by John Smith
  • material.value:"pot" OR maker.name:"John Smith" will find records for both pots and objects made by John Smith

You can also search for multiple values in the same field:

  • material.value:("pot" AND "glazed") will find all pots that are glazed
  • material.value:("pot" OR "glazed") will find all records for all objets that are either pots or glazed

You can use the minus character (-) to exclude terms from your results:

  • material.value:("pot") -@admin.status:invalid will find records for all pots whose admin status is not invalid.

You can use an asterisk (*) as a wildcard to match records that contain strings of text:

  • material.value:*glaze will find records for all objects with any kind of glaze

You can also use an asterisk (*) in combination with Boolean operators to further refine your search:

  • material.value:*glaze AND -material.value:*overglaze will find records for all objects with any kind of glaze except an overglaze or a coverglaze.

# Date ranges

You can search date fields across date ranges, to find recently-added records, for example:

  • @admin.processed:>now-30d will show all records processed by CIIM in the last 30 days
  • @admin.added:>now-7d will show all records added to CIIMas new records in the last 7 days

The key date fields are:

  • @admin.added is when the record was added to CIIM
  • @admin.processed is when the record was processed by CIIM
  • @admin.indexedis when the record was indexed in CIIM
  • @admin.created is when the record was created in your source data (ie your collections management system)
  • @admin.modified is when the record was last modified in your source data (ie your collections management system)

(see the data glossary for further explanation of these stages in data processing)

When identifying fields in your data to search for, use the field that is a long integer (a UNIX timestamp)

  • added: 1719484481059 is a date field that you can search for a date range
  • added_formatted: "2024-06-27 10:34:41" is a text field that you can't search for a date range

# Lucene syntax

CIIM uses a rich query language called Lucene to support searches like the ones above.

You can use Lucene syntax directly in the search box, and there are cheat sheets that can help you with advanced queries.