refactor: split suggest query and indexing helpers#88
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request introduces improvements to the
SuggestIndexerclass, focusing on safer and more maintainable management of internal operations, as well as some refactoring in theDefaultContentsParser. The changes ensure that internal operation instances are only re-initialized when actually needed (lazy re-initialization), and that methods accessing these operations are protected from stale state. Additionally, tag and role extraction logic in query log parsing has been refactored for clarity and maintainability.Improvements to operation management in
SuggestIndexer:operationsStaleflag to track when internal operation instances need re-initialization, and replaced eager re-initialization in setters with a lazy approach using a newensureOperations()method. Now, operations are only re-initialized when accessed after a configuration change, improving efficiency and thread safety. [1] [2] [3] [4] [5] [6] [7]SuggestIndexerthat access internal operations to callensureOperations()first, guaranteeing up-to-date operation state. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]Refactoring and maintainability improvements in query log parsing:
DefaultContentsParser.parseQueryLogto use helper methods (extractTags,extractRolesFromQueryLog), improving code clarity and maintainability.DefaultContentsParser.Internal API improvements:
contentOpsmethods to accept a newContentIndexingContextobject instead of multiple parameters, centralizing context creation and reducing method complexity. [1] [2] [3] [4] [5]These changes collectively make the codebase safer, more efficient, and easier to maintain.