Esempio n. 1
0
 function searchObject($text, $p = false)
 {
     if ($p) {
         return $this->compareObject($text, $p, 'stripos');
     } else {
         $this->reloadSearchTrie();
         $results = array_values($this->SearchTrie->search($text, true));
         $intersect = array_pop($results);
         foreach ($results as $batch) {
             $intersect = intersectOfIds($intersect, $batch);
         }
         return $intersect;
     }
 }
Esempio n. 2
0
 function query($path, $limit = 50, $offset = 0)
 {
     $queries = explode('&', $path);
     $ids = array();
     foreach ($queries as $no => $query) {
         $triples = $this->LDPath->parse($query);
         if ($no === 0) {
             $ids = $this->Index->query($triples);
         } else {
             $ids = intersectOfIds($ids, $this->Index->query($triples));
         }
     }
     $this->_lastSet = $ids;
     return $this->DescriptionStore->getDescriptionsByIDs(array_slice((array) $ids, $offset, $limit));
 }