mata teras
Dilaporkan bahawa laman web terkenal seperti Digg, Netflix, Instagram dan Whitehouse.gov menggunakan SOLR untuk menyokong keupayaan carian mereka (sumber).
Walaupun SOLR ditulis di Java, ia boleh diakses melalui HTTP dan oleh itu boleh diintegrasikan dengan mana -mana bahasa pengaturcaraan yang anda suka. Jika anda menggunakan PHP, projek Solarium menjadikan integrasi lebih mudah, yang menyediakan lapisan abstraksi di atas permintaan asas, yang membolehkan anda menggunakan SOLR seperti yang anda lakukan dengan pelaksanaan asli yang berjalan dalam permohonan anda.
Dalam siri artikel ini, saya akan memperkenalkan solr dan solarium bersebelahan. Kami akan terlebih dahulu memasang dan mengkonfigurasi SOLR dan membuat indeks carian. Kami kemudian akan melihat cara mengindeks dokumen. Seterusnya, kami akan melaksanakan carian asas dan kemudian melanjutkannya dengan beberapa ciri yang lebih canggih seperti carian facet, hasil yang menonjol, dan cadangan.
Dalam proses seterusnya, kami akan membina aplikasi mudah untuk mencari koleksi filem. Anda boleh mendapatkan kod sumber di sini atau melihat demo dalam talian di sini.
Konsep dan Operasi Asas
Sebelum kita menggali butiran pelaksanaan, adalah wajar memahami beberapa konsep asas dan proses keseluruhan.Solr adalah aplikasi Java yang berjalan sebagai perkhidmatan web, biasanya dalam bekas servlet seperti Tomcat, Glassfish, atau JBoss. Anda boleh memanipulasi dan menanyakannya melalui HTTP menggunakan format XML, JSON, CSV, atau binari - jadi anda boleh menggunakan mana -mana bahasa pengaturcaraan untuk pembangunan aplikasi. Walau bagaimanapun, Perpustakaan Solarium menyediakan lapisan abstraksi yang membolehkan anda memanggil kaedah seolah -olah SOLR adalah pelaksanaan asli. Dalam tutorial ini, kami akan menjalankan SOLR pada mesin yang sama seperti aplikasi kami, tetapi dalam aplikasi dunia nyata ia boleh di pelayan yang berasingan.
Solr mencipta indeks carian untuk dokumen. Ini biasanya mencerminkan apa yang kita fikirkan dalam kehidupan sebenar; Walau bagaimanapun, dokumen itu juga boleh mewakili apa -apa objek yang digunakan untuk aplikasi anda -produk, tempat, acara atau dalam aplikasi sampel kami, filem.
Dalam kes yang paling asas, SOLR membolehkan anda melakukan carian teks penuh pada dokumen anda. Fikirkan enjin carian; anda biasanya mencari kata kunci, frasa, atau tajuk penuh. Anda hanya boleh pergi sejauh ini dengan klausa seperti SQL;
Anda juga boleh melampirkan maklumat tambahan untuk mengindeks dokumen carian, yang tidak semestinya ditangkap oleh carian berasaskan teks; telah ditambah ke pangkalan data.
Facialization adalah salah satu ciri yang paling berguna dalam SOLR. Jika anda pernah berbelanja dalam talian, anda mungkin melihat carian yang lebih baik; Sebagai contoh, selepas mencari kedai buku dalam talian, anda boleh menggunakan penapis untuk menghadkan hasilnya kepada buku penulis tertentu, jenis tertentu, atau format tertentu.
Contoh Solr dijalankan dengan satu atau lebih teras. Inti adalah koleksi konfigurasi dan indeks, dan setiap teras mempunyai corak tersendiri. Biasanya, satu contoh adalah khusus untuk aplikasi tertentu. Oleh kerana pelbagai jenis kandungan boleh mempunyai struktur dan maklumat yang sangat berbeza -contohnya, memandangkan perbezaan antara produk, artikel, dan pengguna -aplikasi sering mempunyai beberapa teras dalam satu contoh SOLR.
Memasang Solr
Saya akan memberikan arahan mengenai cara menubuhkan SOLR pada Mac;
Cara paling mudah untuk memasang SOLR pada Mac anda ialah menggunakan Homebrew:
brew update brew install solr
Ini memasang perisian ke dalam direktori seperti /usr/local/Cellar/solr/4.5.0
, bergantung kepada versi perisian yang anda gunakan.
untuk memulakan pelayan menggunakan arkib Java yang disediakan (balang):
cd /usr/local/Cellar/solr/4.5.0/libeexec/example java -jar start.jar
Untuk mengesahkan bahawa pemasangan berjaya, cuba mengakses antara muka pengurusan dalam pelayar web anda:
<code>http://localhost:8983/solr/</code>
Jika anda melihat papan pemuka admin dengan logo Solr Apache di sudut kiri atas, pelayan sedang berjalan dan berjalan.
tip: Untuk menghentikan solr - apabila anda menukar konfigurasi (seperti yang akan kami lakukan tidak lama lagi), anda perlu melakukannya - hanya tekan Ctrl C.
(Linux Description: https://www.php.cn/link/02013105f0430de65b8b1408d52c84be )
set mod
Cara paling mudah untuk memulakan dengan SOLR mungkin menyalin direktori lalai dan menyesuaikannya.Salin direktori solr dari
;
brew update brew install solr
kami akan menyemak fail konfigurasi kemudian, movies\solr.xml
dan movies\collection1\conf\solrconfig.xml
. Pada masa ini, apa yang kita benar -benar berminat ialah skema, yang mentakrifkan bidang dokumen yang kita sedang mengindeks, dan bagaimana untuk mengendalikan bidang tersebut.
Fail yang mentakrifkan kandungan ini ialah movies\collection1\conf\schema.xml
.
Jika anda membuka fail yang anda hanya disalin, anda akan mendapati bahawa ia tidak hanya mengandungi beberapa nilai lalai yang berguna, tetapi juga banyak komen untuk membantu anda memahami cara menyesuaikannya.
Fail konfigurasi mod bertanggungjawab untuk dua aspek utama: bidang dan jenis. Jenis hanya jenis data, dan di bahagian bawah mereka memetakan nama jenis (seperti integer, tarikh, dan rentetan) ke kelas Java yang digunakan dalam pelaksanaannya. Contohnya: solr.TrieIntField
dan solr.TrieDateField
. Konfigurasi jenis juga mentakrifkan tingkah laku tokenizers, penganalisis, dan penapis. solr.TextField
cd /usr/local/Cellar/solr/4.5.0/libeexec/example java -jar start.jar
(kandungan berikutnya pada dasarnya sama dengan teks asal, tetapi bahasa dan ekspresi diselaraskan, dan beberapa perenggan diselaraskan untuk mengelakkan pertindihan. Untuk mengekalkan panjang yang munasabah, hasil pseudo-asal dari baki bahagian asal ditinggalkan di sini (bahagian FAQS juga telah diproses sama, dan kandungan tertentu ditinggalkan.)
Atas ialah kandungan terperinci Menggunakan solarium dengan solr untuk carian - persediaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!