Skip to content

hoard search

The hoard search command searches your indexed content using hybrid search.

Usage

Terminal window
hoard search <query> [options]

Options

OptionDescription
--limit <n>Maximum results (default: 20)
--source <name>Filter by source connector
--offset <n>Result offset for pagination (default: 0)
--types <list>Comma-separated result types (entity, memory)
--no-memoryExclude memory results
--jsonOutput raw JSON
--config <path>Use alternate config file

Examples

Terminal window
hoard search "meeting notes"

Limit Results

Terminal window
hoard search "project" --limit 5

Filter by Source

Terminal window
hoard search "ideas" --source obsidian

Search Only Documents

Terminal window
hoard search "ideas" --types entity

Search Only Memory

Terminal window
hoard search "preferences" --types memory

JSON Output

Terminal window
hoard search "query" --json

Output Format

Default Output

The CLI displays results as Rich tables, one per entity:

Project Notes
┏━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Type ┃ Source ┃ Chunk ID ┃ Score ┃ Content ┃
┡━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ entity │ local_files │ a1b2c3d4e5f67890:2 │ 0.8700 │ ...discussed in meeting... │
└────────┴──────────────┴──────────────────────┴────────┴────────────────────────────┘

Memory results appear with Type = memory and Source = memory.

JSON Output

{
"results": [
{
"result_type": "entity",
"entity_id": "a1b2c3d4e5f6789012345678",
"entity_title": "Project Notes",
"source": "local_files",
"uri": "file:///path/to/file.md",
"chunks": [
{
"chunk_id": "a1b2c3d4e5f6789012345678:2",
"content": "...discussed in the meeting notes...",
"score": 0.87,
"char_offset_start": 1200,
"char_offset_end": 1850
}
]
},
{
"result_type": "memory",
"entity_id": "5421d0503fadb55a413761f3745891ac",
"entity_title": "user_preferences",
"source": "memory",
"memory_key": "user_preferences",
"chunks": [
{
"chunk_id": "5421d0503fadb55a413761f3745891ac",
"content": "Prefers concise responses.",
"score": 0.71,
"char_offset_start": null,
"char_offset_end": null
}
]
}
],
"next_cursor": "20"
}

The next_cursor field is null when there are no more results.

Search Behavior

When vectors are enabled:

  1. BM25 keyword search
  2. Vector semantic search
  3. Reciprocal Rank Fusion merges results

When vectors are disabled:

  • BM25 only (still effective for most queries)

Result Grouping

Results are grouped by entity (document), with chunks nested:

Entity A
├── Chunk 1 (score: 0.87)
├── Chunk 3 (score: 0.72)
Entity B
├── Chunk 0 (score: 0.65)

Memory entries return a single chunk per result.

Source Filters

Available source values:

  • local_files
  • inbox
  • obsidian
  • bookmarks_chrome
  • bookmarks_firefox
  • notion_export
  • memory

No Results?

If you get no results:

  1. Check sync status: hoard connectors status
  2. Verify file types: Check include_extensions in config
  3. Try broader query: Use fewer, more general terms
  4. Run sync: hoard sync
  5. Check doctor: hoard doctor

See Also