Product Search screen
Information valid from AMI version 8.0 initial release
Summary
Product Search uses Elasticsearch's Query String to perform free-text search, as this allows fine control over the search using a basic Query String Syntax.
The table below lists the aspects of the Simple Query String Syntax that are supported (see the Elasticsearch Query String Syntax document for full details).
Feature | Character | Example | Description |
OR | | | canadian bacon | By default multi-term searches are ORed together - i.e. find matches that contain either the word canadian OR the word bacon (in any order or position) |
AND | + | canadian + bacon | Use if both terms are required (in any order or position) |
NOT | - | canadian + bacon -film | Use for words that must not be present Note that because multi-term searches are ORed, the example search would match values that either had canadian AND bacon OR did not have film. |
Phrases | " " | "canadian bacon" | Multiple words can be grouped together to form a phrase for searching |
Precedence | ( ) | (canadian american) + bacon | Signifies the precedence of matching operations |
Prefix Search | * | canad* | * at the end of a word signifies a prefix query |
Fuzziness | ~N | brwn~2 foks~2 | You can search for terms that are similar to, but not exactly like our search terms, using the “fuzzy” operator (~) A number after the ~ sets the edit distance—the maximum number of characters that may be added to, removed from or substituted in a word to make a match. |
Slop amount | ~N | "canadian bacon"~2 | After a phrase, the maximum number of intervening unmatched words allowed to still make a match. In the example syntax, the query would match with: |
You can match any of these characters literally by preceding them with a \ backslash.