# search-optimization > Optimize BK search with intent, detail level, and store filtering - Author: Chris Braddock - Repository: chris-bluera/bluera-knowledge - Version: 20260205163644 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/chris-bluera/bluera-knowledge - Web: https://mule.run/skillshub/@@chris-bluera/bluera-knowledge~search-optimization:20260205163644 --- --- name: search-optimization description: Optimize BK search with intent, detail level, and store filtering --- # Optimizing Bluera Knowledge Search Master the `search()` MCP tool parameters to get better results with less context usage. ## Understanding Search Parameters ```typescript search( query: string, // Your search query intent?: SearchIntent, // What you're looking for detail?: 'minimal' | 'contextual' | 'full', // How much context to return limit?: number, // Max results (default: 10) stores?: string[] // Which stores to search ) ``` ## Search Intent: Choosing the Right Type The `intent` parameter helps the search engine rank results appropriately for your query type. ### Intent Decision Tree **Looking for implementation details? Use `find-implementation`** - "How does X work internally?" - "Show me the implementation of Y" - "What's inside the Z class/function?" ``` search("Vue computed properties implementation", intent='find-implementation') → Prioritizes: actual class/function implementations → Ranks higher: ComputedRefImpl class, createComputed() function → Ranks lower: tests, documentation, examples ``` **Looking for usage patterns? Use `find-pattern`** - "How to use X?" - "Examples of Y pattern" - "Common ways to implement Z" ``` search("React hooks patterns", intent='find-pattern') → Prioritizes: example code, usage patterns, HOCs → Ranks higher: common patterns like useEffect cleanup → Ranks lower: internal implementation details ``` **Looking for references? Use `find-usage`** - "Where is X used?" - "Find all calls to Y" - "What depends on Z?" ``` search("useCallback usage", intent='find-usage') → Prioritizes: call sites, import statements → Ranks higher: files importing and using useCallback → Ranks lower: useCallback's own implementation ``` **Looking for definitions/APIs? Use `find-definition`** - "What is the API for X?" - "Show me the type definition of Y" - "What are the parameters for Z?" ``` search("FastAPI route decorator", intent='find-definition') → Prioritizes: function signatures, type definitions → Ranks higher: @app.get() decorator definition → Ranks lower: examples using the decorator ``` **Looking for documentation? Use `find-documentation`** - "What does the doc say about X?" - "Explain Y from the documentation" - "API reference for Z" ``` search("Pydantic validators documentation", intent='find-documentation') → Prioritizes: README, docstrings, comments → Ranks higher: markdown docs, inline documentation → Ranks lower: implementation code ``` ### Default (No Intent) If unsure, omit `intent` - the search engine will use hybrid ranking: ``` search("authentication middleware") → Returns mixed: implementations, patterns, usage, docs → Balanced ranking across all categories ``` ## Detail Level: Progressive Context Strategy The `detail` parameter controls how much code context is returned **per result**. ### Detail Levels Explained | Level | What You Get | Tokens/Result | Use When | |-------|--------------|---------------|----------| | `minimal` | Summary, file path, relevance | ~100 | Browsing many results | | `contextual` | + imports, types, signatures | ~300 | Need interface context | | `full` | + complete code, all context | ~800 | Deep dive on specific file | ### Progressive Detail Strategy (Recommended) **Step 1: Start Minimal** ``` search(query, detail='minimal', limit=20) → Get 20 summaries (~2k tokens total) → Scan quickly for relevance → Identify top 3-5 candidates ``` **Step 2: Evaluate Scores** ``` Review relevance scores: - 0.9-1.0: Excellent match (almost certainly relevant) - 0.7-0.9: Strong match (very likely relevant) - 0.5-0.7: Moderate match (possibly relevant) - < 0.5: Weak match (probably not relevant) ``` **Step 3: Selective Deep Dive** ``` For top results (score > 0.7): get_full_context(result_ids) → Fetch complete code only for relevant items For moderate results (score 0.5-0.7): search(refined_query, detail='contextual') → Try different query with more context ``` ## Result Limiting The `limit` parameter caps the number of results returned. ### Choosing the Right Limit | Limit | Mode | Use When | |-------|------|----------| | 20-50 | Discovery | Exploring, not sure what exists | | 10-20 | Standard | Specific question, multiple files | | 3-5 | Targeted | Know exactly what you need | **Tip**: Large limits work best with `detail='minimal'` to control tokens. ## Store Filtering The `stores` parameter restricts search to specific knowledge stores. ### When to Filter Stores **✅ Filter when:** You know the library, comparing specific libs, want focused results **❌ Don't filter when:** Discovering where code lives, want cross-library perspective ``` # Check available stores first list_stores() # Then filter search(query, stores=['fastapi', 'express']) ``` ## Quick Reference ### High-Efficiency Defaults ``` search(query, detail='minimal', limit=20) → Good for most discovery tasks → Review, then selectively fetch full context ``` ### High-Precision Defaults ``` search(query, intent='find-implementation', detail='full', limit=5, stores=['known-lib']) → When you know exactly what you're looking for → Fastest path to deep answer ``` ### Balanced Defaults ``` search(query, detail='contextual', limit=10) → Good middle ground → See interfaces without full implementation ``` ## Deep Dive For advanced strategies and token optimization examples: - @references/strategies.md - Combined optimization strategies with token counts - @references/mistakes.md - Common mistakes to avoid