Solr adalah salah satu enterprise search platform yang bersifat open source dari Apache. Fitur utamanya adalah pencarian berbasis text, hit highlight, faceted search, dynamic clustering, database integration dan penanganan terhadap rich document. Pencarian menggunakan solr bisa menggunakan URL dan hasil pencariannya bisa berupa xml maupun JSON. Sehingga memudahkan programmer untuk menggunakannya dalam berbagai bahasa pemrograman.
Solr dibuat menggunakan bahasa pemrograman java dan menggunakan lucene untuk fitur indexing dan pencarian. Solr dapat diintegrasikan dengan servlet container seperti tomcat atau juga berjalan sebagai server tunggal.
Install SOLR
- Login ke ssh server ( misal server 192.168.5.65) dan lakukan update dan upgrade, supaya sistem di server sudah paling terkini dengan apt-get dan apt-upgrade
- Menambahkan repository untuk memasang Java
echo “deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main” | tee /etc/apt/sources.list.d/webupd8team-java.list
echo “deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main” | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys EEA14886
- lakukan update repository dengan apt-update
- Memasang unzip, curl dan java , jika ada agreement, dll di OK kan saja
apt-get install unzip curl oracle-java8-installer
apt-get install oracle-java8-set-default
- Mendownload Solr di http://mirror.wanxp.id/apache/lucene/solr/
- Extract file nya
- masuk ke folder solr nya lalu check apakah app basic nya bisa running dengan baik atau tidak
- Memasang SOLR server, sebelumnya kembali ke / lalu kemudian extract script installnya
tar xzf solr-5.3.1.tgz solr-5.3.1/bin/install_solr_service.sh –strip-components=2
bash ./install_solr_service.sh solr-5.3.1.tgz
- Memasang Solr telah berhasil, dapat diakses di browser dengan url http://192.168.5.65:8983/solr/#/
Konfigurasi SOLR
Mengenai konfigurasi SOLR di tutorial ini menggunakan konsep standalone karena ada fitur lain dari SOLR adalah cloudSOLR dimana terdapat minimal 2 SOLR yang saling sync. Konfigurasi ada di lokasi Berikut konfigurasi yang dapat dilakukan:
- Konfigurasi waktu di (/opt/solr)
SOLR_TIMEZONE=”+0700″
- Konfigurasi Memory untuk Indexing/import di (/opt/solr)
# Increase Java Heap as needed to support your indexing / query needs
SOLR_HEAP=”512m” - Memasang plugin untuk import data melalui mysql/mariadb dengan mendownload file jar ke direktori /opt/solr/contrib/dataimporthandler/lib , jika tidak ada folder lib, buatlah foldernya terlebih dahulu dengan mkdir, kemudian melakukan perubahan hak akses menjadi ownernya adalah solr
- Membuat core config solr, sebelumnya kita perlu membuat tabel city (misalnya) terlebih dahulu di server database mysql/mariadb yang sudah ada. structure dan data bisa di download disini . Kemudian ketik “su – solr” (tanpa tanda petik) *perintah untuk masuk dan ke home path solr* lalu buatlah folder city kemudian masuk ke folder city lalu download dan extract contoh config disini . kemudian rubahlah konfigurasi database nya di file data-config.xml . perhatikan 2 file penting ini yaitu schema.xml dan data-config.xml .
- kembali ke home solr . kemudian lakukan create collection dan importing data
/opt/solr/bin/solr create_core -c city -d city
curl –url “http://192.168.5.65:8983/solr/city/dataimport?command=full-import&clean=true&commit=true”
- perintah untuk menghapus core adalah
opt/solr/bin/solr delete -c city
- Jika dilihat di browser maka akan seperti berikut
Query SOLR
menggunakan browser dengan mengakses nya ke url http://192.168.5.65:8983/solr/#/city/query
q: query filter , contoh :
*:* maka akan menampilkan semua
city_id:258 maka akan menampilkan data yang city_id nya adalah 258
city_name: “Yogyakarta” maka akan menampilkan data yang city_namenya adalah Yogyakarta
sort : untuk pengurutan
start,rows untuk keperluan paging
fl : untuk filter field apa yang akan ditampilkan