Caching name-based filters in a full-text search engine
First Claim
1. A computer-implemented method comprising:
- receiving, by an object-relational mapping (ORM) system that is executed by a processing system, a search query object for a full-text search in a relational database from an application client, wherein the search query object is in a first format that is incompatible with the relational database being searched;
mapping, by the ORM system, the search query object to a second format that is compatible with the relational database;
invoking, by the ORM system, a full-text search engine to perform the full-text search in view of the mapped search query object;
creating the filter object in response to determining that a filter object associated with the search query object has not been cached within a cache memory of the ORM system;
filtering a search result generated from the full-text search engine using the created filter object and returning the filtered search result to the application client;
caching the filter object in the cache memory of the ORM system such that the cached filter object can be used to filter a subsequent search result in response to receiving a subsequent search query object without having to recreate the filter object;
receiving, by the ORM system, the subsequent search query object for a subsequent full-text search in the relational database from the application client, wherein the subsequent search query object is in the first format that is incompatible with the relational database being searched;
mapping, by the ORM system, the subsequent search query object to the second format that is compatible with the relational database;
invoking, by the ORM system, the full-text search engine to perform the subsequent full-text search in view of the mapped subsequent search query object;
in response to determining that the filter object has been cached within the cache memory of the ORM system, retrieving the cached filter object from the cache memory of the ORM system;
filtering the subsequent search result generated from the full-text search engine using the retrieved filter object and returning the filtered subsequent search result to the application client.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for filtering a full-text search result in a full-text search engine level are described herein. According to one embodiment, in response to a search query received at an ORM system for a full-text search in a relational database, a full-text search engine is invoked to perform the requested full-text search based on the search query. A filter is utilized to filter a search result generated from the full-text search engine using a filter object representing a filter associated with the search query and returning the filtered result to the application client. Thereafter, the filter object is cached in a cache memory of the ORM system such that the cached filter object can be used in subsequent search queries without having to recreating the same filter object. Other methods and apparatuses are also described.
8 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
receiving, by an object-relational mapping (ORM) system that is executed by a processing system, a search query object for a full-text search in a relational database from an application client, wherein the search query object is in a first format that is incompatible with the relational database being searched; mapping, by the ORM system, the search query object to a second format that is compatible with the relational database; invoking, by the ORM system, a full-text search engine to perform the full-text search in view of the mapped search query object; creating the filter object in response to determining that a filter object associated with the search query object has not been cached within a cache memory of the ORM system; filtering a search result generated from the full-text search engine using the created filter object and returning the filtered search result to the application client; caching the filter object in the cache memory of the ORM system such that the cached filter object can be used to filter a subsequent search result in response to receiving a subsequent search query object without having to recreate the filter object; receiving, by the ORM system, the subsequent search query object for a subsequent full-text search in the relational database from the application client, wherein the subsequent search query object is in the first format that is incompatible with the relational database being searched; mapping, by the ORM system, the subsequent search query object to the second format that is compatible with the relational database; invoking, by the ORM system, the full-text search engine to perform the subsequent full-text search in view of the mapped subsequent search query object; in response to determining that the filter object has been cached within the cache memory of the ORM system, retrieving the cached filter object from the cache memory of the ORM system; filtering the subsequent search result generated from the full-text search engine using the retrieved filter object and returning the filtered subsequent search result to the application client. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable medium including instructions that, when executed by a processing system, cause the processing system to perform operations comprising:
-
receiving, by an object-relational mapping (ORM) system that is executed by the processing system, a search query object for a full-text search in a relational database from an application client, wherein the search query object is in a first format that is incompatible with the relational database being searched; mapping, by the ORM system, the search query object to a second format that is compatible with the relational database; invoking, by the ORM system, a full-text search engine to perform the full-text search in view of the mapped search query object; creating the filter object in response to determining that a filter object associated with the search query object has not been cached within a cache memory of the ORM system; filtering a search result generated from the full-text search engine using the created filter object and returning the filtered search result to the application client; caching the filter object in the cache memory of the ORM system such that the cached filter object can be used to filter a subsequent search result in response to receiving a subsequent search query object without having to recreate the filter object; receiving, by the ORM system, the subsequent search query object for a subsequent full-text search in the relational database from the application client, wherein the subsequent search query object is in the first format that is incompatible with the relational database being searched; mapping, by the ORM system, the subsequent search query object to the second format that is compatible with the relational database; invoking, by the ORM system, the full-text search engine to perform the subsequent full-text search in view of the mapped subsequent search query object; in response to determining that the filter object has been cached within the cache memory of the ORM system, retrieving the cached filter object from the cache memory of the ORM system; filtering the subsequent search result generated from the full-text search engine using the retrieved filter object and returning the filtered subsequent search result to the application client. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An object-relational mapping (ORM) system comprising:
-
a cache memory to store a filter object associated with a search query object; and a processing system coupled to the cache memory to; receive the search query object for a full-text search in a relational database from an application client, wherein the search query object is in a first format that is incompatible with the relational database being searched; map the search query object to a second format that is compatible with the relational database; invoke a full-text search engine to perform the full-text search in view of the mapped search query object; create the filter object in response to a determination that the filter object has not been cached within the cache memory of the ORM system; filter a search result generated from the full-text search engine using the created filter object and to return the filtered search result to the application client; cache the filter object in the cache memory of the ORM system such that the cached filter object can be used to filter a subsequent search result in response to receipt of a subsequent search query object without having to recreate the filter object; receive the subsequent search query object for a subsequent full-text search in the relational database from the application client, wherein the subsequent search query object is in the first format that is incompatible with the relational database being searched; map the subsequent search query object to the second format that is compatible with the relational database; invoke the full-text search engine to perform the subsequent full-text search in view of the mapped subsequent search query object; in response to a determination that the filter object has been cached within the cache memory of the ORM system, retrieve the cached filter object from the cache memory of the ORM system; and filter the subsequent search result generated from the full-text search engine using the retrieved filter object and return the filtered subsequent search result to the application client. - View Dependent Claims (14, 15, 16, 17)
-
Specification