Skip to Content
Search

Search

Bee supports two search modes:

  1. Keyword search (default, BM25) — runs over your conversations, daily summaries, and facts.
  2. Neural semantic search (--neural) — semantic recall over conversations only.

Neural search is significantly slower than keyword search. Use it only when keyword search misses relevant context.

Mode Comparison

ModeAccessScopeSpeedBest for
Keyword (BM25)bee search --query "<text>"Conversations, daily summaries, factsFastEveryday lookup, exact terms, recent recall
Neuralbee search --query "<text>" --neuralConversations onlySlowerSemantic recall when wording differs

By default, keyword search returns matches across conversations, daily summaries, and facts. Neural search is semantic and covers conversations only; the keyword-only --filter and --sort flags do not apply when you pass --neural.

Todos and insights are not searchable here. Use bee todos list and bee insights for those.

Usage

bee search --query <text> [--limit N] [--since <epochMs>] [--until <epochMs>] [--json]
$ bee search --query "project roadmap" $ bee search --query "project roadmap" --limit 20 $ bee search --query "project roadmap" --json

Keyword search returns BM25-ranked results across conversations, daily summaries, and facts.

Options

OptionModeDescription
--query <text>bothThe search text (required).
--limit NbothMaximum number of results (1–100, default 20).
--neuralSwitch to neural semantic search (conversations only).
--filter conversations|daily|facts|allkeywordScope the keyword (BM25) search. Defaults to all.
--scope conversations|allkeywordAlias for --filter (conversations or all).
--sort relevance|mostRecentkeywordOrder keyword results by relevance or recency. Defaults to relevance.
--since <epochMs>bothOnly return items at or after this time (epoch milliseconds).
--until <epochMs>bothOnly return items at or before this time (epoch milliseconds).
--jsonbothEmit raw JSON instead of formatted markdown.

Filtering the keyword scope

--filter scopes which record types the keyword index searches. --scope is an alias accepting conversations or all.

# Only search conversations bee search --query "standup notes" --filter conversations # Only search daily summaries bee search --query "highlights" --filter daily # Only search facts bee search --query "coffee" --filter facts # Order keyword matches by recency instead of relevance bee search --query "release plan" --sort mostRecent

--filter, --scope, and --sort apply to keyword search only. They cannot be combined with --neural.

Bounding results by time

--since and --until accept epoch milliseconds and bound results in both keyword and neural modes.

# Keyword matches created on or after a timestamp bee search --query "budget" --since 1704067200000 # Neural matches within a time window bee search --query "what did I plan" --neural --since 1704067200000 --until 1706745600000

Recommendation

  1. Start with keyword search for speed and broad coverage (conversations, daily summaries, facts).
  2. Use neural search only when keyword results are insufficient.
  3. Keep neural queries focused and use --limit to control latency.
  4. Narrow either mode with --since/--until when you know the rough time window.

The same search is available to AI assistants through the bee_search MCP tool, which mirrors these options (query, limit, filter, sortBy, mode, plus since/until). See MCP.

Last updated on