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

# Configure Search Behavior

Pass a `config` object to set search `mode` and locale. `mode: "keyword"` skips semantic ranking and uses lexical matching only — lowest latency, best for exact product names or SKUs.

| Mode | Behavior |
| - | - |
| `default` | Lexical + semantic. Recommended for most searches. |
| `keyword` | Lexical only. Use for real-time, low-latency needs. |
| `agentic` | LLM-planned sub-searches for complex queries. See [Agentic search](/guides/agentic-search). |

<CodeGroup>
  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import Channel3 from "@channel3/sdk";

  const client = new Channel3();

  async function main() {
    const response = await client.products.search({
      query: "linen shirt",
      config: {
        mode: "keyword",
      },
    });
    console.log(response.products[0]?.title);
  }

  main();
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  from channel3_sdk import Channel3

  client = Channel3()

  def main():
      response = client.products.search(
          query="linen shirt",
          config={"mode": "keyword"},
      )
      print(response.products[0].title)

  if __name__ == "__main__":
      main()
  ```
</CodeGroup>

Locale overrides (`country`, `currency`, `language`) also go on `config` (or on the client default). See [Localization](/guides/localization) and [Locale](/guides/locale).

`keyword_search_only` is ignored. Use `mode: "keyword"` instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.