The Dalet Flex Query Language enables you to carry out complex structured searches in Dalet Flex.
In Dalet Flex, you can carry out simple text based searches by simply entering a word or phrase. You can also use the Query Language to help you carry out more complex searches. The syntax that can be used is as follows:
Operators | Description | |
---|---|---|
Logical Operators | AND OR ! | Logical operators are used to search for multiple terms simultaneously. Examples: You can search for two different terms using the OR / AND operator such as: movie OR film, movie AND comedy. |
Quotes | "” | Quotes are used to search for an exact word or phrase. You wrap the word or phrase in quotation marks. Example: description="city”. |
Tilde | ~ | The tilde character (~) supports a “contains” search. This uses phrase matching to search in elastic search. For example, the search query ‘q=description~"live at midnight”’ returns all values that include the exact phrase “live at midnight”. |
Comparison Operators | >= <= < > | Equal or greater, equal or lesser, lesser and greater operators are supported. |
Boosting | ^ | You can boost a term using a caret (cursor) symbol. Example: description^5=city. In this example all the assets which have the word city in the description field will be more relevant in the search. |
Brackets | () | Example: description=(European City) This searches the for the specific terms “European” and “City” within any description fields. |
Free text search | This is when you enter a word or phrase without applying any of the above syntax. Example: you could simply search work for the word city. | |
Sorting | SORT BY ASC/DESC | Enables you to sort by a given field. This includes sorting in ascending and descending order. If you do not specify an order, it will sort in ascending by default. |
When searching date fields, the date should be written in the format yyyy-MM-dd HH:mm:ss
or yyyy-MM-dd
surrounded by double
quotes.
lastModified="2017-06-22 10:24:05"
Putting quotes around the search term forces a full exact match (i.e. the entire field value).
name="film from partner x"
You can boost results by using the carat character, which boosts any matching objects in the results. For example, in the example below you would get all objects whose name contains “film from partner” or is an image asset, but the image asset objects will appear higher in the search results.
name~"film from partner" OR objectType.name^2=image-asset
You can search on example values using NUll.
title=NULL
Searching on the name of a metadata field will match objects referencing any metadata definition with a field of that name.
e.g. If 2 metadata definitions exist, both with a field called “string-field”, the FQLstring-field=somevalue
would match
objects using either of those definitions.
There is currently no way to search on a duplicate field name within a single metadata definition.
Example | Notes |
---|---|
New |
All objects that have “New” in any field |
assetOrigin=New |
All assets with an origin of “New” |
assetOrigin=New AND objectType.name=media-asset |
All media assets with an origin of “New” |
created > "2019-08-22" |
Any object created after 22nd August 2019 |
!ownerId=5 |
Any object not owned by user with ID 5 |
(name~film OR name~placeholder) AND objectType.name=media-asset SORT BY created DESC |
Any media assets whose name contains “film” or “placeholder”, ordered in descending created date order |