Parasolx

Professional in Drupal web development, theme designing, consultation and training

Drupal dan Apache Solr, enjin carian ala-ala Google

27 May 2013 - 08:45 am

Drupal sememangnya telah terkenal dan menjadi jenama identiti sebagai sistem pengurusan kandungan yang begitu hebat dalam SEO. Selain itu keupayaannya untuk mengendalikan pangkalan data yang bersaiz besar dengan sempurna adalah antara teras utama kebanyakan syarikat dan penyedia laman web gergasi bertukar kepadanya. Dengan kandungan yang begitu banyak, agak sukar untuk kita menyusun setiap kandungan agar mudah dicapai oleh pengguna.


Salah satu fungsi yang sedia ada dimuatkan dalam pakej Drupal adalah "Search" atau carian. Secara lalainya Drupal akan menjalankan proses mengindeks pada setiap entiti node seperti tajuk dan medan-medan yang digunakan. Indeks ini akan digunakan sebagai senarai perbandingan terhadap frasa atau kata kunci carian yang digunakan oleh pengguna. Namun begitu, akibat kengkangan pemprosesan dan capaian data, hasil carian kadang kala terlalu perlahan. Masa yang lebih lama perlu diambil oleh pelayan untuk membaca set carian yang sangat besar dan kompleks.


Meningkatkan tahap kelajuan carian


Salah satu cara untuk memastikan proses carian boleh dijalankan dengan lebih pantas pada laman web Drupal adalah dengan mengubah tatacara pemprosesannya yang asal. Proses daripada capaian kepada pangkalan data diubah ke bentuk capaian yang lebih pantas seperti XML. XML merupakan bahasa pengaturcaraan yang digunakan untuk menghantar dan menerima data-data pada kelajuan yang sangat pantas. Berbeza dengan pangkalan data (MySQL atau SQLite) di mana data perlu dibaca daripada pangkalan data, diproses dan dihantar dalam bentuk "query". Berbeza XML data dihantar dalam bentuk skematik, JSON ataupun Ajax.


Selain itu, XML tidak melibatkan pemprosesan terhadap pangkalan data sebaliknya ianya dijalankan sepenuhnya oleh pelayan. Pada situasi yang sama, carian pada indeks pangkalan data melibatkan dua proses yang berbeza iaitu carian pada pangkalan data dan diproses oleh pelayan. Inilah antara sebab mengapa kebanyakan migrasi atau penghantaran data dilakukan menerusi XML.


Apache Solr


apache solr


Apache Solr merupakan modul tambahan atau "plugin" kepada kod pengaturcaraan PHP yang dijanakan oleh Apache. Apache Solr mengindeks dan menghantar keputusan (result) dalam bentuk XML sekiranya arahan carian dilancarkan. Carian keputusan seterusnya akan dikategorikan mengikut acuan atau dipanggil "facet". Solr ditulis dalam kod pengaturcaraan Java yang jauh lebih pantas daripada PHP dan MySQL. Dengan menggunakan kaedah integrasi, Apache Solr akan menggantikan sepenuhkan fungsi carian lalai Drupal dan setiap frasa carian dibuat, ianya dijalankan sepenuhnya oleh Solr.


Sungguhpun begitu, bagi mana-mana pembangun, pemilik atau pereka laman web menggunakan Drupal perlulah memiliki sekuranga-kurangnya langganan hosting untuk jenis VPS dan yang terbaik adalah Dedicated. Ini disebabkan konfigurasi perlu dibuat pada pelayan dan laman utama portal.


Carian Autocomplete dan Suggested


Dengan Apache Solr, Drupal mampu untuk menterjemah dan belajar daripada hasil carian menerusi senarai cadangan atau "suggestion" sewaktu pengguna mula membuat carian. Bagi kes-kes laman yang mempunyai kandungan tersendiri, Solr bijak dalam memberi kata kunci cadangan untuk membantu pengguna dalam membuat carian dengan lebih efektif berbanding enjin carian yang disedikan secara lalai oleh Drupal.

Kategori: 
Tags: 
apache solr
google
autocomplete