setAdvancedSyntax method

AlgoliaQuery setAdvancedSyntax({
  1. bool enabled = false,
})

AdvancedSyntax

Enables the advanced query syntax.

This advanced syntax brings two additional features:

  • Phrase query: a specific sequence of terms that must be matched next to one another. A phrase query needs to be surrounded by double quotes ('). For example, the query 'search engine' only returns a record if it contains “search engine” exactly in at least one attribute.

  • Note: Typo tolerance is disabled inside the phrase (i.e. within the quotes).

  • Prohibit operator: excludes records that contain a specific term. To exclude a term, you need to prefix it with a minus (-). The engine only interprets the minus (-) as a prohibit operator when you place it at the start of a word. A minus (-) within double quotes (') is not treated as a prohibit operator.

Some examples:

  • search -engine only matches records containing “search”, but not “engine”.
  • search-engine matches records containing “search” and “engine” (there’s no exclusion because the minus (-) is in the middle of the word)
  • search matches every record except those containing “search”
  • search engine matches records containing “engine”, but not “search”
  • '-engine' matches records containing “-engine” (no exclusion performed)

Source: Learn more

Implementation

AlgoliaQuery setAdvancedSyntax({bool enabled = false}) {
  assert(!_parameters.containsKey('advancedSyntax'));
  return _copyWithParameters(<String, dynamic>{'advancedSyntax': enabled});
}