--- title: 'Stop: Query pipeline feature' slug: '1446' canonical_url: https://docs.coveo.com/en/1446/ collection: tune-relevance source_format: adoc --- # Stop: Query pipeline feature A [query pipeline](https://docs.coveo.com/en/180/) [statement](https://docs.coveo.com/en/236/) expressing the `stop` feature defines a list of case-insensitive words to remove from the [basic query expression](https://docs.coveo.com/en/178/) ([`q`](https://docs.coveo.com/en/13#operation/searchUsingPost-q)) before executing a [query](https://docs.coveo.com/en/231/) against the [index](https://docs.coveo.com/en/204/). > **Leading practice** > > Typically, a statement expressing the `stop` feature should only apply when a certain condition is fulfilled. > > In general, you should ensure that this is the case by associating such a statement, and/or the query pipeline it's defined in, to a global condition. > > See [Leading practices](https://docs.coveo.com/en/3406#leading-practices) for more recommendations and tips on managing stop word rules. > **Notes** > > * In the [Coveo Administration Console](https://docs.coveo.com/en/183/), you can manage statements expressing the `stop` feature [from the **Stop words** subtab](https://docs.coveo.com/en/3406#access-the-stop-words-subtab). > > * The [Intelligent Term Detection (ITD)](https://docs.coveo.com/en/207/) [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) feature takes statements expressing the `stop` feature into account before injecting keywords from the [large query expression (`lq`)](https://docs.coveo.com/en/214/) into the basic query expression. The following diagram shows the process of a query being sent to the Search API and the order of execution of query pipeline features. ![Coveo | diagram showing order of execution](https://docs.coveo.com/en/assets/images/coveo-platform/trigger-statements-diagram.svg) ## Syntax Use the following [query pipeline language (QPL)](https://docs.coveo.com/en/235/) syntax to define a statement expressing the `stop` feature: ```text stop ``` ### `` A comma-separated list of quoted strings, where each element defines a case-insensitive word that should be removed from the basic query expression (for example, `"foo", "bar", "baz"`). > **Important** > > A given stop word instance won't be removed from the basic query expression when: > > * The condition associated to the statement isn't fulfilled. > * The stop word instance appears in an exact phrase match term in the current basic query expression. > * The current basic query expression only contains stop words. > * The stop word instance is acting as an operand of a Boolean [query syntax](https://docs.coveo.com/en/181/) operator in the current basic query expression. ## Example In an empty query pipeline named `Testing Stop`, you define a statement expressing the `stop` feature with the following QPL definition: [example.code] #### **Statement:** ```text stop "be", "do", "how", "i", "in", "my", "not", "or", "the", "to" ``` #### The following table shows how the basic query expression of different queries going through the `Testing Stop` query pipeline is processed when this statement applies: [%header, cols="1,1,1"] |=== |Current `q` expression |Processed `q` expression |Explanation |`to be or not to be` |`to be or not to be` |Stop words are kept if the current `q` expression only contains stop words. |`how do I change the "my password" value in the Intranet?` |`change "my password" value intranet` a| * Stop words are case-insensitive (hence `I` is removed). * Stop word instances are kept in exact phrase match query terms (hence `my` is kept in `"my password"`). |`how NEAR:5 my password in the intranet` |`how NEAR:5 my password intranet` |Stop words acting as query syntax Boolean operators are kept (hence `how` and `my` are kept). |===