> ## 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.md). |

```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()
```

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

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


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