Order of Execution of Query Pipeline Features

When a query is sent to your Coveo Cloud organization, the query goes through a specific query pipeline before reaching the index. Within any given query pipeline, the various query pipeline features follow a specific order of execution which can’t be altered.

The following diagram shows the process of a query being sent to a given Coveo Cloud organization and the order of execution of query pipeline features.

When a query is sent to an organization:

  1. Parse the query.

  2. Route the query to a specific query pipeline (see Query Pipeline Routing Mechanisms and Rules).

  3. Apply Query parameters rules (see Adding and Managing Query Pipeline Query Parameters).

  4. Apply Thesaurus rules (see Adding and Managing Query Pipeline Thesaurus Rules).

  5. Apply Stop words rules (see Adding and Managing Query Pipeline Stop Words).

  6. Apply Filters rules (see Adding and Managing Query Pipeline Filters).

  7. Apply Query ranking expressions rules (see Adding and Managing Query Pipeline Ranking Expressions).

  8. Apply Featured results rules (see Adding and Managing Query Pipeline Featured results).

  9. Apply Ranking weight rules (see Adding and Managing Query Pipeline Ranking Weight Rules).

  10. Leverage Coveo ML Event Recommendations and Coveo ML Product Recommendations models (see Adding and Editing Coveo Machine Learning Event Recommendations Models in a Query Pipeline).

  11. Leverage Coveo ML Automatic Relevance Tuning (ART) models (see Adding and Managing Coveo Machine Learning Models).

  12. Leverage Coveo ML Dynamic Navigation Experience (DNE) models (see Deploying Dynamic Navigation Experience).

  13. Send the query to the index.

  14. Apply Triggers rules (see Adding and Managing Query Pipeline Triggers).

  1. A customer sends the following query from a Coveo-powered search interface integrated within your bookstore e-commerce site.

    QPOrderOfExecutionExample

    The query is now Harry Potter novel.

  2. The query is routed to the Bookstore Search query pipeline in your Coveo Cloud organization.

  3. Apply Query Parameters rules.

    The pipeline contains the two following Query parameters rules:

    1. Override the aq query parameter to @source==Books if the query contains novel.

    2. Override the sortCriteria query parameter value to DateAscending if the advanced query is @source==Books.

    QueryParametersExample

    As the query currently contains novel, rule 3.a. applies.

    Although rule 3.a. sets the aq query parameter to @source==Books, the advanced query has not yet been updated accordingly. Therefore, rule 3.b. doesn’t apply.

    After both Query parameters rules have been evaluated:

    • The query is still Harry Potter novel.

    • The advanced query is now @source==Books.

  4. Apply Thesaurus rules.

    The pipeline contains the two following Thesaurus rules:

    1. Replace Harry in the current query with Harry OR wizard OR Hogwarts OR Gryffindor if the advanced query is @source==Books.

    2. Replace the keyword Gryffindor in the current query with Slytherin.

    ThesaurusExample

    As the advanced query is now @source==Books, rule 4.a. applies.

    Rule 4.b. has no condition. However, although rule 4.a. adds Gryffindor to the query, it has not yet been updated accordingly. Therefore, while the rule applies, it has no effect.

    • The query is now (Harry OR wizard OR Hogwarts OR Gryffindor) Potter novel.

    • The advanced query is still @source==Books.

  5. Apply Stop words rules.

    The pipeline contains the following Stop words rule:

    Remove Gryffindor from the current query if the query contains wizard.

    StopWordExample

    As the query now contains wizard, the rule applies.

    • The query is now (Harry OR wizard OR Hogwarts) Potter novel.

    • The advanced query is still @source==Books.

  6. Apply Filters rules.

    The pipeline contains the following Filters rule:

    Add @author=="J. K. Rowling" to the aq if the advanced query is @source==Books.

    FiltersExample

    As the advanced query is @source==Books, the rule applies.

    • The query is still (Harry OR wizard OR Hogwarts) Potter novel.

    • The advanced query is now @source==Books @author=="J. K. Rowling".

  7. Apply Query ranking expressions rules.

    The pipeline contains the following Query ranking expressions rule:

    Apply a +500 ranking score boost to items whose @bookseries field value is Harry Potter if the advanced query contains @author=="J. K. Rowling".

    RankingExpressionsExample

    As the advanced query contains @author=="J. K. Rowling", the rule applies.

    The query and the advanced query remain unchanged, but the query now includes a query ranking expression.

  8. Apply Featured results rules.

    The pipeline contains the following Featured results rule:

    Give a substantial ranking score boost to the item whose title is Harry Potter and the Philosopher's Stone if the advanced query contains @author=="J. K. Rowling".

    FeaturedResultsExample

    As the advanced query now contains @author=="J. K. Rowling", the rule applies.

    The query and the advanced query remain unchanged, but the query now includes an additional query ranking expression (QRE).

  9. Apply Ranking weights rules.

    The pipeline contains the following Ranking weights rule:

    Increase the weight of the title ranking factor, and lower the weight of the summary ranking factor if the query contains Gryffindor.

    RankingWeightExample

    As the query no longer contains Gryffindor (it was removed by a Stop words rule in step 5), the rule doesn’t apply.

  10. Leverage Coveo ML Event Recommendations (ER) models.

    No Event Recommendations (ER) model is configured in the pipeline.

  11. Leverage Coveo ML ART models.

    No ART model is configured in the pipeline.

  12. Leverage Coveo ML Dynamic Navigation Experience (DNE) models.

    No Dynamic Navigation Experience (DNE) Coveo ML model is configured.

  13. Send the processed query to the index.

  14. Apply Triggers rules.

    The pipeline contains the following Triggers rule:

    Send a notification to the end user saying You're a wizard, Harry! if the query contains Hogwarts.

    TriggersExample

    As the query contains Hogwarts, the rule applies.

Recommended Articles