Table of Contents
Search
Table of Contents
The Fotoware Alto search offers 3 search modes. When to use which search mode is explained below.
AND search
The AND search finds content that contains all the entered search terms. For example, if you search for Stock shot, Fotoware Alto translates it to Stock AND shot and searches for images that contain these two values.


OR search
When using the OR search, Fotoware Alto translates the search term Stock shot into Stock OR Shot and finds content that contains one or more search terms entered


Advanced search
The advanced search allows a variety of exact, fuzzy, or replacement searches. You can access the advanced search cheat sheet with search examples below. These queries only work in Advanced Mode. Using these queries allows searching/accessing specific values in specific fields on specific layers. Check the individual syntax per field.
Search: Search in Metadata and Document Fulltext (Solutions)
Search: Find Users by Identity Provider (Solutions)
Search: Find Users by Creation Date Range (Solutions)
Search: Find Items with Layer not Assigned (Solutions)
Search: Fuzzy Search (Proximity) (Solutions)
Search: Find Users Not in Role A (Solutions)
Search: Find Users by Role (Solutions)
Search: Find Items by Permission Sets (Solutions)
Search: Find Items by Product Codes (Solutions)
Search: Check if Field Product Description Exists (Solutions)
Search: Find Product Information in Translated Description (Solutions)
Search: Boost (Uplift) your Search Terms (Solutions)
Search: Find Items with Tagbox Values (Solutions)
Search: Find Items with Checkbox Values (Solutions)
Search: Find Items by Ids (Solutions)
Search: Find Items with Geo values not possible (Solutions)
Search: Find Items with Fieldset values (Solutions)
Search: Find Items with Date (Solutions)
Search: Find Items with Date in Range (Solutions)
Search: Find Items with a Specific Date. (Solutions)
Search: Find Items with specific values in text fields (Solutions)
Search: Find Items with values in translated fields. (Solutions)
Search: Find Items with Exact Term in Translated Field (Solutions)
Search: Find Items where Field in Layer is Empty (Solutions)
Search: Find Items with Value in a Field (Solutions)
Search: Find Items where Field or Layer is Empty (Solutions)
Channel Setting: Show Search Advice in Empty Search Text (Solutions)
Simple Search Analyzer
Search Analyzers define how text is processed or manipulated. These analyzers give you control over how your text data is used in the search. The goal is to standardize text, for example, lowercasing or converting special characters (diacritics) or handling of singular/plural in translations (e.g., men, man). Search Analyzers are available for string and translated string fields.
Simple Search Analyzer
access in search queries: simple
The simple search analyzer is a custom Fotoware Alto implementation that does not use ElasticsearchSettings, allowing us to define min and max grams created on indexing and token_chars, which are character classes to keep in the tokens. Elasticsearch splits on characters that don't belong to any of these classes. defaults. The custom analyzer uses a regex:
- Regex
*/"(\[^\\p\{L\}\\d\]+)|(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)|(?<=\[\\p\{L\}&&\[^\\p\{Lu\}\]\])(?=\\p\{Lu\})|(?<=\\p\{Lu\})(?=\\p\{Lu\}\[\\p\{L\}&&\[^\\p\{Lu\}\]\])"/* - Outcome:
- Lowercase / Uppercase
- Digit / non-digit
- Stemming
- HTML Strip
- Examples
- Fotoware Alto = Fotoware Alto, fotoware alto
- Case Study = Case, Study, case, study
If you want to test the simple search analyzer, you can check your terms in a regex tester to see the outcome.
- Open a regex checker
- Add your term as a test string
- Check the outcome
No Diacritics Analyzer
access in search queries: no-diacritics
The no diacritics analyzer:
- only works for text fields
- strips diacritic characters, so when the text value is: Kovačić Mateo, you can search for “Kovačić Mateo” or “Kovacic Mateo”.
An example can be found in Elasticsearch documentation: ASCII folding token filter | Elasticsearch Guide [8.17] | Elastic
Path Hierarchy Analyzer
access in search queries: pathHierarchy
The path hierarchy analyzer will:
- Take a path found in a field (fotoware alto\platform\manual) and delimit the individual terms
- Example
- fotoware alto\platform\manual = fotoware alto\platform\manual, fotoware alto\platform, manual
- Products/Family/Industry = Products/Family, Products, Products/Family/Industry
You should only configure this analyzer if it is used via the API. The simple search in Fotoware Alto escapes Special Characters, and therefore, you won't find assets when searching for some of the tokens generated by this analyzer.
An example can be found in Elastic Search Documentation: Path hierarchy tokenizer | Elasticsearch Guide [8.17] | Elastic
Language Analyzer
access in search queries: language
There are several language analyzers available for Elastic Search. Language analyzers prevent stemming from language-specific values and language-specific stopwords.
Language analyzers | Elasticsearch Guide [8.17] | Elastic
The current implementation uses the default Elasticsearch language analyzers listed in the link. We are using the default stop words and stemming rules, without any customization. Settings allow us to define min and max grams created on indexing and token_chars, which are character classes to keep in the tokens. Elasticsearch splits on characters that don't belong to any of these classes..
Ngram Analyzer
access in search queries: ngram
The starting point for exact substring matches was n-gram tokenization, which indexes all substrings of length n. The drawback of n-gram tokenization is the large amount of disk space it consumes.
Best practice:
- Use ngram only if required - use carefully and not for every string
Settings allow to define min and max grams created on indexing and token_chars, which are characters classes to keep in the tokens, Elasticsearch splits on characters that don't belong to any of these classes.
Example: Search "Raven"
- NGrams (splits term into tokens with one character):
- Rav
- Rave
- Raven
- ave
- aven
- Ven
- ...
Example: Search "Pegasus"
- NGrams (splits term into tokens with one character):
- Pegasus
- Degas
Examples are in Elasticsearch documentation:
N-gram tokenizer | Elasticsearch Guide [8.17] | Elastic
Edge NGram Analyzer
access in search queries: edgeNGram
This tokenizer is very similar to nGram, but only keeps n-grams that start at the beginning of a token. Settings allow us to define min and max grams created on indexing and token_chars, which are character classes to keep in the tokens. Elasticsearch splits on characters that don't belong to any of these classes.
Examples are in Elasticsearch documentation:
Edge n-gram tokenizer | Elasticsearch Guide [8.17] | Elastic
Useful links in Elasticsearch documentation
Simple Analyzer: Simple analyzer | Elasticsearch Guide [8.17] | Elastic
No Diacritics: ASCII folding token filter | Elasticsearch Guide [8.17] | Elastic
Path Hierarchy: Path hierarchy tokenizer | Elasticsearch Guide [8.17] | Elastic
Language: Language analyzers | Elasticsearch Guide [8.17] | Elastic
NGram: N-gram tokenizer | Elasticsearch Guide [8.17] | Elastic
EdgeNgram: Edge n-gram tokenizer | Elasticsearch Guide [7.6] | Elastic
For advanced search queries on analyzed fields, the query can be adjusted to consider the analyzer.
Search: Find Items by Product Codes (Solutions)
Search: Find Items with specific values in text fields (Solutions)
Search: Find Items with values in translated fields. (Solutions)