ADVANCED SEARCH

The Advanced Search Engine allows for searching not only by keywords, but also search by some metadata field with different operators and parameters and then allowing to perform exact searches to what is needed.

The selection of metadata grouped with different options is shown first:

  • Any: filter by any existing common metadata and parameter.

  • Common parameters: allows to filter the search by keyword.

  • Metadata fields: here all metadata is found, for example: address, author and others.

Operators:

The second option shows different operators, in order to indicate what the search would do.

These operators are:

  • MUST

MUST: The search must match the parameters selected.

For example, as shown in the previous image, if the string “leonardo” is introduced in the search field, the result will be like this:

The query will perform a search where the result must contain Leonardo either in the title, the description or the metadata.

  • MUST NOT

MUST NOT: The search must not match the parameters sent.

For example, as shown in the previous image, if the string “leonardo” is introduced in the search field, the result will be like this:

This query will perform a search where the result must not contain Leonardo in the title, description or metadata.

  • SHOULD

SHOULD: The search should be equal to the parameters sent (Must match at least 1 result).

For example, as shown in the previous image, if the string “leonardo” is introduced in the search field, the result will be like this:

This query will perform a search where the result should contain Leonardo in the title, description, metadata or keyword.

Parameters:

Parameters allow the data entered in the search field to be filtered or used.

Note: All parameters except Contain, are disabled because they need a metadata field to perform filtering.

  • CONTAIN

Parameter that allows filtering that contains the word entered in the search engine.

The search will contain the entered word. For example in this case, the search engine will bring up results that the keyword must contain “Leonardo”.

Note: Please note that this is case-sensitive. These are used together with the parameters of the search engine.

  • EQUAL

Parameter that allows filtering that is equal as the word entered in the search engine.

Search filtering equal to the word to search.

This query will perform a search where the keywords must be equal to “Leonardo” due to the filter in place (Equal).

Note: Please note that this is case-sensitive. These are used together with the parameters of the search engine for example Contain and Equal.

  • MULTI VALUES

Parameter that allows the filtering of multiple values, as many as necessary.

Selection of multiple values for filtering.

This query will perform a search where the keywords must contain any of these values Leonardo and Da vinci or both.

  • REGEX

Parameter that allows filtering using regular expressions.

It allows the search using regular expressions, with the following valid characters:

  • . : Matches any character.

    • Example: ab. # matches 'aba', 'abb', 'abz', etc.

  • ^ : before a character in the brackets, excludes the character or range.

    • Example: [^abc] # matches any character except 'a', 'b', or 'c'

  • $ : (end of line). To match a term, the regular expression must match the entire string.

    • Example: abc$ # matches 'abc'

  • ? : Repeat the preceding character zero or one time(s). Often used to make the preceding character optional.

    • Example: abc? # matches 'ab' and 'abc'

  • + : Repeat the preceding character one or more times.

    • Example: ab+ # matches 'abb', 'abbb', 'abbbb', etc.

  • * : Repeat the preceding character zero or more times.

    • Example: ab* # matches 'ab', 'abb', 'abbb', 'abbbb', etc.

  • | : OR operator. The match will succeed if the longest pattern on either the left side OR the right side matches.

    • Example: abc|xyz # matches 'abc' and 'xyz'

  • {} : Minimum and maximum number of times the preceding character can be repeated.

    • Example: a{2} # matches 'aa' --- a{2,4} # matches 'aa', 'aaa', and 'aaaa'

  • [ ] : Match one of the characters in the brackets.

    • Example: [abc] # matches 'a', 'b', 'c'

  • ( ) : Forms a group. You can use a group to treat part of the expression as a single character.

    • Example: abc(def)? # matches 'abc' and 'abcdef' but not 'abcd'

  • " : # @ & < > ~ To use one of these characters literally, escape it with a preceding backslash or surround it with double quotes.

    • Example: "john@smith.com" # renders as 'john@smith.com'

  • \ : # @ & < > ~ To use one of these characters literally, escape it with a preceding backslash or surround it with double quotes.

    • Example: \@ # renders as a literal '@'

  • RANGE

Parameter that allows filtering using ranges.

It allows for performing searches by ranges (of years) so that it is possible to write a minimum value and a maximum value.

This query will perform a search where the date of the metadata field “Year of Publication” should be in the range of 1500 to 1800.

Note: Range are always numeric

  • STARTS WITH

Parameter that allows filtering of words that starts with "string".

Starts with: The metadata filtering starts with the word in the search field.

Note: This query will perform a search where the keyword starts with “ar”

  • ENDS WITH

Parameter that allows filtering of words that ends with "string"

Ends with: The metadata filtering will end with the word in the search field.

Note: This query will do a search where the keyword ends with mp.

Example of an Advanced Search:

This example shows how to perform a search with the advanced search engine.

First condition: the results must be equal to "Italy" in the "Country" metadata. Second condition: the keywords of the records must contain the values "art and leonard".

Last updated