> ## Documentation Index
> Fetch the complete documentation index at: https://www.algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Customize stop words

> Learn how to customize stop-word dictionaries through the dashboard.

export const SearchQuery = () => <Tooltip tip="The text users enter into a search box. In the Search API, this corresponds to the query parameter. A search query is often used with filters, facets, and other parameters, but these aren't part of the query text itself.">
    search query
  </Tooltip>;

export const Records = () => <Tooltip tip="A record is a searchable object in an Algolia index. Each record consists of named attributes." cta="Algolia records" href="/doc/guides/sending-and-managing-data/prepare-your-data#algolia-records">
    records
  </Tooltip>;

export const Index = () => <Tooltip tip="An Algolia index is a searchable dataset that consists of records and configuration settings. These settings define how the records are searched and ranked.">
    index
  </Tooltip>;

export const Application = () => <Tooltip tip="An Algolia application is a self-contained environment with its own indices, configuration, and API keys. Applications don't share data or settings with each other.">
    application
  </Tooltip>;

export const AlgoliaSearch = () => <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 80" width="20" height="20" className="inline" fill="none" role="presentation" ariaLabel="Algolia Search">
    <circle cx="40" cy="32" r="28" fill="#5468FF"></circle>
    <rect x="30" y="22" width="20" height="20" rx="10" fill="#fff"></rect>
    <path d="M43 63.5 54.5 60l6 17h-12L43 63.5Z" fill="#36395A"></path>
  </svg>;

Stop words are the most common words in a language,
such as "the", "that", and "it" in English.
These words don't give useful clues in a search.
They appear in many <Records /> and can cause false positives in search results.

The [`removeStopWords`](/doc/api-reference/api-parameters/removeStopWords) parameter controls whether Algolia removes stop words from the <SearchQuery />.
Turn it on if your users search with stop words or natural language, as in [voice search](/doc/guides/solutions/ecommerce/voice-search).
Leave it off if they search with keywords only.
The index's [query language](/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/how-to/how-to-set-an-index-query-language) then decides which dictionaries apply.
With no query language set, `removeStopWords` applies to every supported language.

Algolia provides a built-in stop-word dictionary for each [supported language](/doc/guides/managing-results/optimize-search-results/handling-natural-languages-nlp/in-depth/supported-languages).
In the [Algolia dashboard](https://dashboard.algolia.com/dictionaries/stopwords?lang=en), you can add your own words to these dictionaries.

**Each Algolia <Application /> uses one stop-word dictionary per language.**
To ignore words in one <Index /> only, use the [`optionalWords`](/doc/api-reference/api-parameters/optionalWords) parameter.

## Open a stop-word dictionary

Whenever you want to inspect, turn off, delete, add, or upload custom stop words, start with these steps.

1. Go to the [Algolia dashboard](https://dashboard.algolia.com/explorer/browse) and select your Algolia <Application />.
2. In the left sidebar, select <AlgoliaSearch /> **Search**.
3. Go to the [**Dictionaries**](https://dashboard.algolia.com/dictionaries/stopwords?lang=en) page.
4. Select the language you want to customize.
5. Select the **Words Ignored** tab.

## Inspect stop words

[Open a stop-word dictionary](#open-a-stop-word-dictionary) and:

* To find one stop word, type it in the search box.
* To narrow the list, select <Icon icon="funnel" /> **Filter**, then select a **Filter by status** or **Filter by type** option.

## Turn off and delete stop words

A stop word can matter for your use case.
For example, if your catalog has down jackets and other jackets, queries must keep "down" to return relevant results.

To keep a word in the query, you can turn off the stop-word entry.

To turn off or delete stop words:

1. [Open a stop-word dictionary](#open-a-stop-word-dictionary).

2. Search for the stop word.

3. To turn off the stop word (keep it in the query), select **Disable**.

4. To delete a custom stop word, select <Icon icon="trash" /> **Remove**.

   <Note>
     You can't delete a built-in stop word.
     You can only turn it off.
   </Note>

5. Select **Review and Save**.

## Add custom stop words

1. [Open a stop-word dictionary](#open-a-stop-word-dictionary).
2. Search for the word.
3. If the word doesn't exist, select <Icon icon="plus" /> **Add as a custom stop word**.
4. Select **Review and Save**.

## Create your own stop-word dictionary

To apply only your own stop words, turn off all the built-in stop words first.
Then add your words one at a time, or upload them in bulk.

You must choose which language's dictionary to customize.
Set that language as the index's [`queryLanguages`](/doc/api-reference/api-parameters/queryLanguages) and turn on [`removeStopWords`](/doc/api-reference/api-parameters/removeStopWords).

[Open a stop-word dictionary](#open-a-stop-word-dictionary), then select <Icon icon="settings" /> **Actions**:

* To turn off the built-in stop words, select **Disable Algolia words**.
* To upload your own list, select **Upload your list of words**.
* To export what you added, select **Download the list of your custom words as JSON** or **as CSV**.

### Upload format

<CodeGroup>
  ```csv CSV theme={"system"}
  word,language,state,objectID,type
  custom,en,enabled,1,custom
  stop,en,disabled,2,custom
  words,en,enabled,3,custom
  ```

  ```json JSON theme={"system"}
  [
    {
      "word": "custom",
      "language": "en",
      "state": "enabled",
      "objectID": 1,
      "type": "custom"
    },
    {
      "word": "stop",
      "language": "en",
      "state": "disabled",
      "objectID": 2,
      "type": "custom"
    },
    {
      "word": "words",
      "language": "en",
      "state": "enabled",
      "objectID": 3,
      "type": "custom"
    }
  ]
  ```
</CodeGroup>

Every row needs all five columns, and `type` must be `custom`.
In CSV, don't put a space after a comma.
The dashboard matches the header row character for character, so ` language` doesn't match `language`, and the upload skips the rows it can't match.

## Manage stop words programmatically

The dashboard isn't the only way to customize a dictionary:

* Algolia CLI: the [`algolia dictionary entries`](/doc/tools/cli/commands/dictionary/entries) commands
* API clients: [save](/doc/libraries/sdk/v1/methods/save-dictionary-entries), [search](/doc/libraries/sdk/v1/methods/search-dictionary-entries), [delete](/doc/libraries/sdk/v1/methods/delete-dictionary-entries), and [clear](/doc/libraries/sdk/v1/methods/clear-dictionary-entries) dictionary entries
* Search API: [add or delete dictionary entries](/doc/rest-api/search/batch-dictionary-entries), [search dictionary entries](/doc/rest-api/search/search-dictionary-entries)

Turning off the built-in words is a dictionary setting, not an entry.
Use [`algolia dictionary settings`](/doc/tools/cli/commands/dictionary/settings), the [set dictionary settings](/doc/libraries/sdk/v1/methods/set-dictionary-settings) method, or the [dictionary settings endpoint](/doc/rest-api/search/set-dictionary-settings).
