[Yii Framework] Membuat Index Data Pada Apache Solr

Sebelumnya saya pernah memaparkan perkenalan dengan apache solr. Nah, sekarang saya akan menjelaskan step-step untuk melakukan index data apache solr pada Yii Framework. Okehh, tidak berbeda dengan menggunakan code PHP biasa kok, pertama-tama kita harus meng-include file Solr PHP Client untuk menghubungkan antara aplikasi kita dengan apache solr. Caranya adalah masukkan kode berikut pada controller tempat anda mengiput kode index apache solr :

Yii::import('application.tambahan.*');
require_once('SolrPhpClient/Apache/Solr/Service.php');

Yah, setelah itu buatlah setelah action tempat kita akan memasukkan kode membuat index pada apache solr. Nah, berikut kode membuat index data baru pada apache solr tersebut :

$solr = new Apache_Solr_Service('localhost', 8983, '/solr');
 if ($solr->ping())
 {
    try
    { 
       $doc = new Apache_Solr_Document();
       $doc->namaAttribute1 = 'isi attribute1';
       $doc->namaAttribute2 = 'isi attribute2';
       $solr->addDocument($doc); //Menambahkan dokumen
       $solr->commit(); //commit untuk melihat perubahan
       $solr->optimize(); //menggabungkan beberapa segmen menjadi satu sehingga efektif. 
    }
    catch(Exception $e)
    {
       echo $e->getMessage();
    }
 }

Penjelasan : pertama-tama kita mendefinisikan Apache Solr yang akan kita akses termasuk mendefinisikan port apache solr tersebut bekerja. Lalu aplikasi akan mengecek apakah sudah terhubung antara aplikasi dengan apache solr. Jika sudah terhubung, maka akan dibuat dokumen apache solr baru yang kemudian akan dimasukkan 2 buah attribute di dalamnya beserta nilainya(tidak harus 2 attirbute, ini sesuai dengan kebutuhan anda). Kemudian setelah di tambahkan attribute-attribute tersebut, maka akan disimpan sementara di variabel tersebut nilai-nilainya lalu disimpan ke dalam index file apache solr.

Nah, contoh kode yang ada di atas adalah kode untuk membuat index data baru. Apabila ingin melakukan delete index, anda dapat membuat kodenya seperti berikut :

 $solr = new Apache_Solr_Service('localhost', 8983, '/solr');
 if ($solr->ping()) 
 {
     try 
     {
        $solr->deleteByQuery('id: hhuu');
        $solr->commit();
        $solr->optimize();
     } 
     catch ( Exception $e ) 
    {
       echo $e->getMessage();
    }
 } 
else 
{
   echo "Connecting to solr failed....<br>";
}

Selesai.. selamat mencoba..

Semoga membantu… 😀

Advertisements
%d bloggers like this: