public static function indexationSearch($searchParams) { Zend_Search_Lucene::setDefaultSearchField('contents'); $directory = Zend_Registry::get('lucene_index'); $index = new Zend_Search_Lucene($directory); $words = strtolower(Cible_FunctionsGeneral::removeAccents(Cible_FunctionsGeneral::html2text(utf8_decode($searchParams['words'])))); $wordsArray = explode(' ', $words); if (count($wordsArray) > 1) { $query = new Zend_Search_Lucene_Search_Query_Phrase($wordsArray); } else { if (strlen($words) >= 3) { $pattern = new Zend_Search_Lucene_Index_Term("{$words}*"); $query = new Zend_Search_Lucene_Search_Query_Wildcard($pattern); } else { $term = new Zend_Search_Lucene_Index_Term($words); $query = new Zend_Search_Lucene_Search_Query_Term($term); } } $hits = $index->find($query); //echo($query); $i = 0; $result = array(); foreach ($hits as $hit) { $result[$i]['moduleID'] = $hit->moduleID; $result[$i]['pageID'] = $hit->pageID; $result[$i]['contentID'] = $hit->contentID; $result[$i]['languageID'] = $hit->languageID; $result[$i]['title'] = $hit->title; $result[$i]['text'] = $hit->text; $result[$i]['link'] = $hit->link; $i++; } return $result; }