/** * Process and render search results. Uses the Lucene_results.ss template to * render the form. * * @access public * @param array $data The raw request data submitted by user * @param Form $form The form instance that was submitted * @param SS_HTTPRequest $request Request generated for this action * @return String The rendered form, for inclusion into the page template. */ public function ZendSearchLuceneResults($data, $form, $request) { $querystring = $form->Fields()->dataFieldByName('Search')->dataValue(); $query = Zend_Search_Lucene_Search_QueryParser::parse($querystring); $hits = ZendSearchLuceneWrapper::find($query); $data = $this->getDataArrayFromHits($hits, $request); return $this->owner->customise($data)->renderWith(array('Lucene_results', 'Page')); }
public function testOnAfterDelete() { // Setup Object::remove_extension('SiteTree', 'ZendSearchLuceneSearchable'); Object::remove_extension('File', 'ZendSearchLuceneSearchable'); ZendSearchLuceneSearchable::$pageLength = 10; ZendSearchLuceneSearchable::$alwaysShowPages = 3; ZendSearchLuceneSearchable::$maxShowPages = 8; ZendSearchLuceneSearchable::$encoding = 'utf-8'; ZendSearchLuceneSearchable::$cacheDirectory = TEMP_FOLDER; ZendSearchLuceneWrapper::$indexName = 'Test'; ZendSearchLuceneSearchable::enable(); // Blank the index ZendSearchLuceneWrapper::getIndex(true); // There shouldn't be anything with asdf in there $this->assertEquals(0, count(ZendSearchLuceneWrapper::find('asdf'))); $page = DataObject::get_one('Page'); $page->Content = 'asdf'; $page->write(); // There should now be a result $this->assertGreaterThan(0, count(ZendSearchLuceneWrapper::find('asdf'))); $page->delete(); // There should now be no result again $this->assertEquals(0, count(ZendSearchLuceneWrapper::find('asdf'))); }