1. A computer-implemented method, comprising: receiving at an object-relational mapping (ORM) system a search query for a full-text search in a relational database received from an application client, the search query written in a first query language incompatible with the relational database being searched; invoking a full-text search engine to perform the requested full-text search based on the mapped search query; filtering a search result generated from the full-text search engine using a filter object representing a filter associated with the search query and executing the zero or more queries to the relational database to return the filtered result to the application client; and caching the filter object 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.