Skip to content

Conversation

@walmsles
Copy link
Contributor

Summary

Bug fix:

  • Change BaseURL for Powertools document website to match its new home so mcp plugin works.

The search in MCP server is simplified as I reverse engineered the mkdocs index loading in a simpler way to get a quick result. Have added additional index features so improve the search experience overall based on the full implementation within mkdocs - will leverage all the mkdocs search features, aligned field boosting and removed the relevance filtering at it risks removing relevant content and the boosting ranks change the rankings now so seemed irrelevant in the scheme of things.

As an example searching for "log" without this change returns no results which is crazy!

Changes

Enhanced Search Relevance

Title Boosting: Increased from 10x to 1000x to match MkDocs Material standards
Tags Support: Added 1,000,000x boost for document tags (highest priority content)
Proper Field Weighting: Text content maintains 1x boost as baseline

Complete MkDocs Index Support

Full Structure: Now supports config, docs, and options sections from MkDocs search indexes
Language Detection: Logs multi-language configurations for debugging
Document Properties: Handles tags, boost values, and parent/child relationships
Backward Compatibility: Gracefully handles existing simplified index formats

Type System & Error Handling

• Added comprehensive type definitions (SearchConfig, SearchDocument, SearchOptions)
• Improved validation and error messages for malformed indexes
• Enhanced logging for search operations

Testing

• All existing tests updated and passing
• Added test coverage for full MkDocs index format with tags
• Verified backward compatibility with simplified formats

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

The current search implementation used simplified boosting (10x titles) that
didn't match the online MkDocs Material search behavior, leading to poor
result relevance and missing high-priority content like tagged documents.

Changes:
- Increase title boost from 10x to 1000x to match MkDocs Material
- Add 1,000,000x boost for document tags (highest priority content)
- Support full MkDocs search index structure (config, options, tags)
- Remove score filtering to return all results sorted by relevance
- Add backward compatibility for existing simplified index formats
- Enhanced type definitions and improved error handling
- Update the default base URL to match new Powertools document home
This ensures search results now properly prioritize titles and tags,
matching the expected behavior users experience on the online documentation.
@pull-request-size pull-request-size bot added the size/L PR between 100-499 LOC label Oct 31, 2025
@walmsles walmsles changed the title Feat(search): search result improvement feat: search result improvement Oct 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L PR between 100-499 LOC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants