feat: search result improvement #272
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Bug fix:
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.