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

# Search Strategies

> Ryumem supports four search strategies for flexible retrieval.

## Strategies

1. **Semantic Search**: Embedding similarity using vector embeddings.
2. **BM25 Keyword Search**: Traditional keyword/lexical matching.
3. **Graph Traversal**: Navigate relationships with BFS.
4. **Hybrid**: Combines all three using RRF fusion (recommended).

## Usage

```python theme={null}
from ryumem import Ryumem

ryumem = Ryumem(server_url="http://localhost:8000")

# Try different strategies
results = ryumem.search(
    query="AI researchers",
    user_id="user_123",
    session_id="session_abc",
    strategy="semantic"
)

results = ryumem.search(
    query="machine learning",
    user_id="user_123",
    session_id="session_abc",
    strategy="bm25"
)

results = ryumem.search(
    query="tech companies",
    user_id="user_123",
    session_id="session_abc",
    strategy="hybrid"
)
```

## Search Parameters

| Parameter              | Type  | Required | Description                                                   |
| ---------------------- | ----- | -------- | ------------------------------------------------------------- |
| `query`                | str   | Yes      | The search query                                              |
| `user_id`              | str   | Yes      | User identifier for multi-tenancy                             |
| `session_id`           | str   | Yes      | Session identifier                                            |
| `limit`                | int   | No       | Maximum results to return (default: 10)                       |
| `strategy`             | str   | No       | Search strategy: `semantic`, `bm25`, `traversal`, or `hybrid` |
| `similarity_threshold` | float | No       | Minimum similarity score for results                          |
| `max_depth`            | int   | No       | Graph traversal depth (default: 2)                            |
| `kinds`                | list  | No       | Filter by episode kinds: `query` or `memory`                  |
