# lib-generis-search This library provide an object search API. It use a query builder to store search criteria, a query serialyser to transform builder into an exploitable query for your database driver and a gateway to execute query. It Will return an iterator. see API Documentation at http://forge.taotesting.com/projects/tao/wiki/use-complex-search-API ## usage example ```php /* @var $search \oat\oatbox\search\ComplexeSearchService */ $search = $this->getServiceManager()->get(\oat\generis\model\kernel\persistence\smoothsql\search\ComplexSearchService::SERVICE_ID); /* @var $queryBuilder \oat\search\QueryBuilder */ $queryBuilder = $search->query(); /* search for all test takers */ $query = $search ->searchType($queryBuilder, 'http://www.tao.lu/Ontologies/TAOSubject.rdf#Subject' , true) ->add('http://www.w3.org/2000/01/rdf-schema#label') ->contain('11'); $queryBuilder->setCriteria($query); /* return an iterator */ $result = $search->getGateway()->search($queryBuilder); /* get max result */ echo 'total : ' . $result->total() . '

'; /*@var $row \core_kernel_classes_Resource */ foreach ($result as $row) { /* each iterator entry is a resource object */ var_dump($row->getLabel()); echo '
'; } ```