Search Result Filtering Using Dual Candidate Lists and Access Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise search systems fail to accurately filter search results based on user access privileges, leading to outdated or incorrect presentation of accessible documents, as they either rely on pre-filtering that does not account for dynamic access changes or post-filtering that is time-consuming and resource-intensive.
Innovation Solution
A method that generates two candidate lists of search results, with pre-filtering using access privilege data to initially narrow down results and post-filtering using user access credentials to validate accessibility, combining these to create a finalized list that ensures only accessible documents are presented, thereby addressing the limitations of both approaches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If pre-filtering using indexed access privilege data is used to narrow down search results, then search speed is improved, but accuracy of access control deteriorates due to outdated access information
Solution Approach 1:
The system performs preliminary filtering using pre-computed indexed access privilege data to quickly narrow down candidate search results before the user request arrives. This preliminary action prepares the data structure in advance, enabling fast initial filtering while maintaining the ability to verify access rights accurately during result generation.
Solution Approach 2:
The system implements feedback mechanisms where actual user access credentials are verified against the pre-filtered results, and access privilege data is continuously updated based on user actions and system state changes. This feedback loop ensures that while pre-filtering provides speed, the final results maintain accuracy through verification and continuous data refreshment.
2Measurement precision
If post-filtering using user access credentials is used to validate search results, then access control accuracy is improved, but processing time increases
Solution Approach 1:
The filtering process is segmented into multiple stages: initial pre-filtering using indexed data, then progressive verification of access credentials against the reduced candidate set. This segmentation allows the system to apply computationally intensive post-filtering only to a small subset of candidates, maintaining accuracy while minimizing time loss.
Solution Approach 2:
The system performs partial post-filtering by validating access credentials only for the top-N candidate results that pass pre-filtering, rather than verifying all possible results. This partial action provides sufficient access control accuracy for the most relevant results while avoiding the time cost of exhaustive verification.
3Reliability
If comprehensive access verification is performed on all search results, then reliability of access control is improved, but resource consumption increases
Solution Approach 1:
Access privilege data is pre-computed and indexed in advance, creating a ready-to-use reference structure that eliminates the need for comprehensive real-time verification. This preliminary action stores access relationships in an optimized format that enables fast lookups with minimal computational resources during actual search operations.
Solution Approach 2:
The system extracts and verifies only the essential access credentials needed for the specific user and search context, rather than performing comprehensive verification of all possible access rights. This extraction approach maintains reliability by verifying necessary permissions while consuming fewer resources by ignoring irrelevant access checks.
Data Source
AI summary
Aspects of the present invention disclose a method, computer program product, and system for generating search results based on access control of a requesting user. The method includes one or more processors receiving a search query from a user. The method further includes generating a first candidate list of search results based on the received search query. The method further includes generating a second candidate list of search results based on the received search query. Generating the second candidate list of search results includes filtering out potential search results based on indexed access privilege data. The method further includes determining a subset of search result entries in the first candidate list by analyzing a defined number of search result entries in the first candidate list. Analyzing the defined number of search result entries includes attempting to access entries of the defined number utilizing access credentials of the user.


