A computer-implemented method executed by a search system on a database of business objects, the method comprising: providing, for each of the business objects in the database, a metamodel specifying joins that connect a set of basis tables into a business object, the metamodel also including an anchor table, wherein the anchor table is a basis table in which each row has a surrogate identifier and a business object key; receiving in the search system a search query for a search of basis tables of one of the business objects; identifying elementary Boolean expressions referring to basis tables in the search query, the elementary Boolean expressions being linked by AND and/or OR operators; for each elementary Boolean expression identified, determining at least one join path to an anchor table of the basis tables to generate a join graph; segmenting all AND operators into AND groups connected by OR operators; for each pair of elementary Boolean expressions in an AND group, identifying intersections of the join paths in the join graph, wherein an intersection is a table where join paths meet on the way to the anchor table; providing, for each basis table, a translation table that translates basis table surrogate identifiers to anchor table surrogate identifiers; translating, via the corresponding translation table, surrogate identifiers of each elementary Boolean expression until an intersection is reached to produce surrogate identifiers of each anchor table; and combining the surrogate identifiers of each anchor table according to the OR operators to produce a result set including a list of business object keys from the anchor table. providing, for each of the business objects in the database, a metamodel specifying joins that connect a set of basis tables into a business object, the metamodel also including an anchor table, wherein the anchor table is a basis table in which each row has a surrogate identifier and a business object key; receiving in the search system a search query for a search of basis tables of one of the business objects; identifying elementary Boolean expressions referring to basis tables in the search query, the elementary Boolean expressions being linked by AND and/or OR operators; for each elementary Boolean expression identified, determining at least one join path to an anchor table of the basis tables to generate a join graph; segmenting all AND operators into AND groups connected by OR operators; for each pair of elementary Boolean expressions in an AND group, identifying intersections of the join paths in the join graph, wherein an intersection is a table where join paths meet on the way to the anchor table; providing, for each basis table, a translation table that translates basis table surrogate identifiers to anchor table surrogate identifiers; translating, via the corresponding translation table, surrogate identifiers of each elementary Boolean expression until an intersection is reached to produce surrogate identifiers of each anchor table; and combining the surrogate identifiers of each anchor table according to the OR operators to produce a result set including a list of business object keys from the anchor table.