Searching stored content is disclosed. A first mapping is created from an object to one or more stored relational database tables. A second mapping is created from the object to an indexer schema. One or both of the following is done: 1) using the first mapping to translate a search request expressed in an abstract query language to a first query language associated with the relational database; and 2) using the second mapping to translate the search request to a second query language associated with the indexer schema.