/**
  * 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')));
 }