Moim problemem jest wyszukanie zdefiniowanego identyfikatora, mianowicie każdy indeksowany rekord ma unikalny identyfikator po którym później chciałbym go wyszukać jednak nie wiem czemu skrypt tego nie robi. Czy ktoś mógłby wyjaśnić mi dlaczego tak się dzieje ?
Indeksowanie danych:
<?php $indexpath = './tmp/index'; array('id' => 2,'title' => 'Jak wydluzyc czas wykonywania skryptu ?','text' => 'Poczytaj o xxxx()')); try{ $index = Zend_Search_Lucene::open($indexpath); } catch(Zend_Search_Lucene_Exception $e) { try{ $index=Zend_Search_Lucene::create($indexpath); }catch(Zend_Search_Lucene_Exception $e){ } } $document = new Zend_Search_Lucene_Document(); foreach($data AS $d){ $document->addField(Zend_Search_Lucene_Field::UnIndexed('doc',$d['id'])); $document->addField(Zend_Search_Lucene_Field::Text('title',$d['title'])); $document->addField(Zend_Search_Lucene_Field::Text('text',$d['text'])); $index->addDocument($document); } $index->commit(); ?>
Wyszukiwanie po identyfikatorze
<?php $indexpath = './tmp/index'; try{ $index = Zend_Search_Lucene::open($indexpath); } catch(Zend_Search_Lucene_Exception $e) { } $hits=$index->find('doc:1'); foreach($hits as $hit){ } ?>