Advanced Search
In the main query bar it is possible to make advanced queries. All of the queries below are for typing in the search bar unless otherwise stated.
Exact phrases
To search for a exact phrase use quotation marks around the search.
This will match “National School" but not for instance “School National”.
Will perform a proximity search and try and match results with a maximum distance of words of 2. If there is a result with metadata "School National" it would match that.
Search title fields
You can search just for matches against the title field by adding ‘title:’ to the query:
or which will match words like ‘water‘, ‘Waterloo’ or ‘waterskis’.
Which will match a title that has the string "National School" in it.
Searching metadata fields.
To search metadata fields you must know the name of the field that you want to search for. This can be different to what is displayed for the field, as fields have labels.
For example, a field called ‘first_name’ might have a label ‘First Name’. Field names are not allowed spaces. If you are unsure of the field name, then it can be shown in the admin interface.
That shows matches for "Tim" in a field called first_name.
Shows matches that either are "pending" or "failed" in a field called status. NOTE: the spaces around the OR operator are important
If you want to search for assets that don't have a metadata field set you can search like so, changing field_name
to the name of the field.
Searching metadata datetime fields.
This will bring by matches for the field "startdate" being 2018-06-05. All dates in iconik's search langauge have to be entered as ISO8601 dates, on the form YYYY-MM-DD.
Ranges
You can search for ranges in metadata fields using the form field_name:[value TO value}
.
A square bracket [
means the search is done inclusive (greater/lesser than or equal) and a curly bracket {
means the serach is done exclusive (greater/lesser than).
You can combine curly and square brackets in the same expression, like the above date search.
Date and timestamp Ranges
This would include results from 2018-06-06 to 2018-06-12.
All results before 2018-06-12
A relative search which returns all assets created more than 10 days ago.
Date arithmetic can use the following shorthands for different time units:
Character | Unit |
---|---|
D | Day |
H | Hour |
M | Minute |
S | Second |
Number ranges
If you have a metadata field that is an integer field such as an age field it is possible to search for a range on that field as well, using the same syntax as for date fields above.
This will show matches for a field called “age” where the value is between 40 and 50.
Searching for integer fields that have a value
If you want to search and show results that match that a particular field has a value, no matter what the value is you have to know the exact field name.
For example a field named “age”:
This will return results of everything that has a value in the age field.
Multiple queries
You can combine queries to further narrow down the search, such as a metadata field and title
That would looks for matches on "first_name" metadata field and on the title.
This would search for results that look for the first_name to be “Barack” but the last name not to be ”Obama”.
Searching for reserved characters in a word
Some characters are reserved for advanced querying such as the colon (:) character. To search for them you can quote
Fuzziness
If you are unsure of the spelling of a word you can use the fuzziness operator. For instance you can match ‘Giraffes‘ with:
or
Other examples tramz~
for trams
or riuns~
for ruins
.
Operators
Excluding terms
You can exclude terms and phrases to be matched using the "!" operator.
This will search for results that have the metadata field first_name set to tim but not where the title includes “National School”
Must be present or must not be present.
You can use the "+" or "AND"operator to match terms that should be present and the "-" or "NOT" operator to exclude. Additional the "||" or "OR" operator allows for more complex queries.
That will match everything that matches “trams” but exclude anything that also has ”Amsterdam”.
This shows using groupings as well as matches for either "Lioness" or "Big Cat" that excludes any results that would also include either “Africa” or "Asia".
NOTE: The spaces around the operators are important
Collection
You can search for assets that don't exist in any collection by using the following term:
Comments and Time-based Metadata
If you want to search for assets that don't have comments and time-based metadata you can use the following term:
Nested documents
Some of the data is indexed in nested documents. The Search API has full support for searching in nested documents, but there is also some support in the Free Text Search.
The nested fields available for Free Text Search, are the subfields in files
, formats
, proxies
and keyframes
Limitations
You can only search for values in one of the nested fields at a time. So you can not search for files size and proxy name, or files size and a free text value for example, but you can search for files size and files name. It is also possible to combine this with any filters including specific metadata field values and dates from the filter panel.
Examples
Find any asset with files that has an original file name that ends with *.jpg
Find any asset with files that has an original file name that ends with *.jpg
and has a file size between 1MB and 1GB
Find any asset with files that has a proxy but it is not CLOSED
Find any asset that has the media format named PPRO_PROXY
Special case for searching for non existing values
You can search for missing proxies or files by starting your query with NOT _exists_:
, but that inverts the whole free text query.
Find any asset with files that does not have a proxy entry at all
Find any asset with files that does not have a proxy entry at all or has one that is not closed. (Note that we use AND instead of AND NOT since the whole query is inverted)
NOTE: Always end your query with a space to not get wildcard search when doing these advanced searches
Collection
You can search for assets that don't exist in any collection by using the following term:
Comments and Time-based Metadata
If you want to search for assets that don't have comments and time-based metadata you can use the following term:
Transcriptions
If you want to search for assets that have transcription you can make a search like this: