Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework][Zend_Search_Lucene] Nie wyszukuje identyfikatora
porady-it.pl
post
Post #1





Grupa: Zarejestrowani
Postów: 89
Pomógł: 20
Dołączył: 13.05.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,

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:
  1. <?php
  2. $indexpath = './tmp/index';
  3.        $data = array(  array('id' => 1,'title' => 'Dlaczego PHP jest taki wolny ?','text' => 'On wcale nie jest wolny tylko ty jestes debilem'),
  4.                        array('id' => 2,'title' => 'Jak wydluzyc czas wykonywania skryptu ?','text' => 'Poczytaj o xxxx()'));
  5.  
  6.        try{
  7.  
  8.            $index = Zend_Search_Lucene::open($indexpath);
  9.            echo "Opened existing index in $indexpath";
  10.  
  11.        } catch(Zend_Search_Lucene_Exception $e) {
  12.  
  13.            try{
  14.  
  15.                $index=Zend_Search_Lucene::create($indexpath);
  16.                echo "Created new index in $indexpath";
  17.  
  18.            }catch(Zend_Search_Lucene_Exception $e){
  19.  
  20.                echo "Unable to open or create index: {$e->getMessage()}";
  21.            }
  22.  
  23.        }
  24.  
  25.        $document = new Zend_Search_Lucene_Document();
  26.  
  27.        foreach($data AS $d){
  28.            
  29.            $document->addField(Zend_Search_Lucene_Field::UnIndexed('doc',$d['id']));
  30.            $document->addField(Zend_Search_Lucene_Field::Text('title',$d['title']));
  31.            $document->addField(Zend_Search_Lucene_Field::Text('text',$d['text']));
  32.            $document->addField(Zend_Search_Lucene_Field::UnIndexed('date',date("F j, Y, g:i a")));
  33.  
  34.            $index->addDocument($document);
  35.        }
  36.  
  37.        $index->commit();
  38. ?>

Wyszukiwanie po identyfikatorze
  1. <?php
  2. $indexpath = './tmp/index';
  3.  
  4.        try{
  5.  
  6.            $index = Zend_Search_Lucene::open($indexpath);
  7.            echo "Opened existing index in $indexpath";
  8.  
  9.        } catch(Zend_Search_Lucene_Exception $e) {
  10.  
  11.            echo "Unable to open index: {$e->getMessage()}";
  12.        }
  13.  
  14.        $hits=$index->find('doc:1');
  15.  
  16.        var_dump($hits);
  17.  
  18.        foreach($hits as $hit){
  19.            echo "id: {$hit->doc}<br />";
  20.        }
  21. ?>


--------------------
Kurs Video PHP i MySQL, porady-it.pl - gotowe rozwiązania dla webmasterów
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:23