Apa itu Apache Solr? Apache Solr adalah platform penelusuran kelas perusahaan open source yang ditulis dalam Java yang memungkinkan Anda membuat mesin telusur kustom yang mengindeks database, file, dan situs. Ini memiliki dukungan back end untuk Apache Lucene. Itu bisa mis. digunakan untuk mencari di beberapa situs web dan dapat menampilkan rekomendasi untuk konten yang dicari. Solr menggunakan bahasa hasil dan kueri berbasis XML (Extensible Markup Language). Ada API (Applications program interfaces) yang tersedia untuk Python, Ruby, dan JSON (Javascript Object Notation).
Beberapa fitur lain yang disediakan Solr adalah:
- Penelusuran Teks Lengkap.
- Pembuatan cuplikan dan penyorotan.
- Pemesanan/pemeringkatan Dokumen Kustom.
- Saran Ejaan.
Tutorial ini akan menunjukkan cara menginstal versi Solr terbaru di Ubuntu 16.04 LTS. Langkah-langkah tersebut kemungkinan besar akan bekerja dengan versi Ubuntu yang lebih baru juga.
Perbarui Sistem Anda
Gunakan pengguna sudo non-root untuk masuk ke server Ubuntu Anda. Melalui pengguna ini, Anda harus melakukan semua langkah dan menggunakan Solr nanti.
Untuk memperbarui sistem Anda, jalankan perintah berikut untuk memperbarui sistem Anda dengan patch dan pembaruan terbaru.
sudo apt-get update && apt-get upgrade -y
Menyiapkan Lingkungan Waktu Proses Java
Solr adalah aplikasi Java, jadi lingkungan runtime Java harus diinstal terlebih dahulu untuk menyiapkan Solr.
Kami harus menginstal properti Perangkat Lunak Python untuk menginstal Java 8. Jalankan perintah berikut untuk menginstal perangkat lunak.
[email protected]:~# sudo apt-get install python-software-properties
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python2.7 python2.7-minimal
Suggested packages:
python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev
python-pycurl-dbg python-pycurl-doc python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python-software-properties python2.7
python2.7-minimal
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 4,070 kB of archives.
After this operation, 17.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Tekan Y untuk melanjutkan.
Setelah menjalankan perintah, tambahkan repositori Java PPA webupd8team di sistem Anda dengan menjalankan:
sudo add-apt-repository ppa:webupd8team/java
Tekan [ENTER] saat diminta. Sekarang, Anda dapat dengan mudah menginstal versi terbaru Java 8 dengan apt.
Pertama, perbarui daftar paket untuk mengambil paket yang tersedia dari PPA baru:
sudo apt-get update
Kemudian instal Oracle Java 8 versi terbaru dengan perintah ini:
sudo apt-get install oracle-java8-installer
[email protected]:~# sudo apt-get install oracle-java8-installer
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils
Suggested packages:
binutils-doc binfmt-support visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming firefox
| firefox-2 | iceweasel | mozilla-firefox | iceape-browser | mozilla-browser | epiphany-gecko | epiphany-webkit | epiphany-browser | galeon | midbrowser | moblin-web-browser | xulrunner
| xulrunner-1.9 | konqueror | chromium-browser | midori | google-chrome
The following NEW packages will be installed:
binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer x11-common xfonts-encodings xfonts-utils
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 6,498 kB of archives.
After this operation, 20.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Tekan Y untuk melanjutkan.
Anda HARUS menyetujui lisensi yang tersedia di http://java.com/license jika ingin menggunakan Oracle JDK, mengklik tombol OK.
Paket menginstal semacam meta-installer yang kemudian mengunduh binari langsung dari Oracle. Setelah proses instalasi, periksa versi Java yang diinstal dengan menjalankan perintah berikut
java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Sekarang Anda telah menginstal Java 8 dan kita akan melanjutkan ke langkah berikutnya.
Memasang aplikasi Solr
Solr dapat diinstal di Ubuntu dengan berbagai cara, dalam artikel ini, saya akan menunjukkan cara menginstal paket terbaru dari sumbernya.
Kami akan mulai dengan mengunduh distribusi Solr. Pertama-tama temukan versi terbaru dari paket yang tersedia dari halaman web mereka, salin tautan dan unduh menggunakan perintah wget
Untuk penyiapan ini, kami akan menggunakan http://www.us.Apache.org/dist/lucene/solr/6.0.1/
cd /tmp
wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
[email protected]:/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06-03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Resolving www.us.apache.org (www.us.apache.org)... 140.211.11.105
Connecting to www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 137924507 (132M) [application/x-gzip]
Saving to: ‘solr-6.0.1.tgz’
Sekarang, jalankan perintah yang diberikan di bawah ini untuk mengekstrak file penginstalan layanan:
tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2
Dan instal Solr sebagai layanan menggunakan skrip:
sudo ./install_solr_service.sh solr-6.0.1.tgz
Outputnya akan seperti ini:
[email protected]:/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id: ‘solr’: no such user
Creating new user: solr
Adding system user `solr' (UID 111) ...
Adding new group `solr' (GID 117) ...
Adding new user `solr' (UID 111) with group `solr' ...
Creating home directory `/var/solr' ...
Extracting solr-6.0.1.tgz to /opt
Installing symlink /opt/solr -> /opt/solr-6.0.1 ...
Installing /etc/init.d/solr script ...
Installing /etc/default/solr.in.sh ...
? solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
Service solr installed.
Gunakan perintah ini untuk memeriksa status layanan
service solr status
Anda akan melihat output yang dimulai dengan ini:
[email protected]:/tmp# service solr status
? solr.service - LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 39s ago
Docs: man:systemd-sysv-generator(8)
Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service...
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
Membuat koleksi pencarian Solr:
Menggunakan Solr, kita dapat membuat beberapa koleksi. Jalankan perintah yang diberikan, sebutkan nama koleksi (di sini untuk memulai) dan tentukan konfigurasinya.
sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
[email protected]:/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
Copying configuration to new core instance directory:
/var/solr/data/gettingstarted
Creating new core 'gettingstarted' using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted
{
"responseHeader":{
"status":0,
"QTime":4427},
"core":"gettingstarted"}
Direktori inti baru untuk koleksi pertama kami telah dibuat. Untuk melihat file skema default, buka:
/opt/solr/server/solr/configsets/data_driven_schema_configs/conf
Gunakan Antarmuka Web Solr
Apache Solr sekarang dapat diakses pada port default, yaitu 8983. UI admin harus dapat diakses di http://your_server_ip:8983/solr. Port harus diizinkan oleh firewall Anda untuk menjalankan tautan.
Misalnya:
http://192.168.1.100:8983/solr/
Untuk melihat detail koleksi pertama yang kita buat sebelumnya, pilih koleksi "memulai" di menu sebelah kiri.
Setelah Anda memilih koleksi "memulai", pilih Dokumen di menu sebelah kiri. Di sana Anda dapat memasukkan data nyata dalam format JSON yang akan dapat dicari oleh Solr. Untuk menambahkan lebih banyak data, salin dan tempel contoh JSON berikut ke kolom Dokumen:
{
"id": 1,
"book_title": "My First Book",
"published": 1985,
"description": "All about Linux"
}
Klik tombol kirim dokumen setelah menambahkan data.
Status: success
Response:
{
"responseHeader": {
"status": 0,
"QTime": 189
}
}
Sekarang kita dapat mengklik Kueri di sisi kiri lalu klik Jalankan Kueri ,
Kita akan melihat sesuatu seperti ini:
{
"responseHeader":{
"status":0,
"QTime":24,
"params":{
"q":"*:*",
"indent":"on",
"wt":"json",
"_":"1464947017056"}},
"response":{"numFound":1,"start":0,"docs":[
{
"id":"1",
"book_title":["My First Book"],
"published":[1985],
"description":["All about Linux"],
"_version_":1536108205792296960}]
}}
Unduhan gambar mesin virtual dari tutorial ini
Tutorial ini tersedia sebagai image mesin virtual siap pakai dalam format ovf/ova untuk Pelanggan Howtoforge. Format VM kompatibel dengan VMWare dan Virtualbox. Gambar mesin virtual menggunakan detail login berikut:
Masuk SSH / Shell
Nama pengguna:administrator
Kata sandi:howtoforge
Pengguna ini memiliki hak sudo.
Harap ubah semua kata sandi di atas untuk mengamankan mesin virtual.
Kesimpulan
Setelah berhasil menginstal Solr Web Interface di Ubuntu, Anda sekarang dapat memasukkan data atau query data dengan Solr API dan Web Interface.