cari
Rumahpembangunan bahagian belakangtutorial phpMenggunakan solarium dengan solr untuk carian - persediaan

Using Solarium with SOLR for Search - Setup

mata teras

    Apache Solr adalah platform carian yang kuat yang menyediakan carian teks penuh, carian faceted, penonjolan hasil dan carian geospatial. Ia boleh diintegrasikan dengan mana -mana bahasa pengaturcaraan melalui HTTP, dan untuk pengguna PHP, projek Solarium memudahkan integrasi ini.
  • SOLR berjalan sebagai perkhidmatan web, mewujudkan indeks carian untuk dokumen. Ia membolehkan carian teks penuh dan menambah maklumat tambahan ke dokumen carian yang diindeks. Salah satu ciri yang paling berguna ialah carian aspek, membolehkan pengguna menapis hasil carian.
  • Memasang SOLR melibatkan menetapkannya pada sistem operasi anda, memulakan pelayan dan mengesahkan pemasangan melalui antara muka pentadbiran. Corak mentakrifkan bidang dokumen yang diindeks dan boleh ditetapkan dengan menyalin direktori lalai dan menyesuaikannya.
  • Solarium adalah perpustakaan klien untuk SOLR yang memudahkan proses menyambung ke SOLR, melaksanakan pertanyaan dan respons pemprosesan. Ia boleh dipasang menggunakan komposer (alat pengurusan ketergantungan PHP). Selepas pemasangan, anda perlu mengkonfigurasinya untuk menyambung ke pelayan SOLR.
Apache Solr adalah platform carian peringkat perusahaan berdasarkan Apache Lucene. Ia menyediakan carian teks penuh yang kuat dan ciri-ciri canggih seperti carian faceted, penonjolan hasil dan carian geospatial. Ia mempunyai skalabiliti yang sangat tinggi dan toleransi kesalahan.

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

Berikut adalah beberapa contoh jenis asas:

cd /usr/local/Cellar/solr/4.5.0/libeexec/example
java -jar start.jar
Jenis rentetan patut diterokai dengan teliti, kerana terdapat perangkap di sini. Apabila anda menggunakan medan sebagai rentetan, sebarang data disimpan seperti yang anda masukkan. Juga, agar pertanyaan untuk dipadankan, ia mestilah sama. Sebagai contoh, katakan anda mempunyai tajuk artikel sebagai rentetan dan masukkan dokumen bertajuk "An PENGENALAN UNTUK SOLR". Dalam mana -mana pelaksanaan carian yang betul, anda ingin mencari artikel menggunakan pertanyaan seperti "Pengenalan Solr" - belum lagi "Pengenalan kepada Solr". Untuk menyelesaikan masalah ini, jika anda tidak mahu tingkah laku yang sesuai ini - yang sebenarnya berguna dalam beberapa kes, seperti carian aspek - maka anda boleh menggunakan gabungan tokenizers dan penapis.

(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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
PHP vs Python: Memahami PerbezaanPHP vs Python: Memahami PerbezaanApr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP: Adakah ia mati atau hanya menyesuaikan diri?PHP: Adakah ia mati atau hanya menyesuaikan diri?Apr 11, 2025 am 12:13 AM

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

Masa Depan PHP: Adaptasi dan InovasiMasa Depan PHP: Adaptasi dan InovasiApr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

Bilakah anda menggunakan sifat berbanding kelas abstrak atau antara muka dalam PHP?Bilakah anda menggunakan sifat berbanding kelas abstrak atau antara muka dalam PHP?Apr 10, 2025 am 09:39 AM

Dalam PHP, sifat sesuai untuk situasi di mana penggunaan semula kaedah diperlukan tetapi tidak sesuai untuk warisan. 1) Ciri membolehkan kaedah multiplexing dalam kelas untuk mengelakkan pelbagai kerumitan warisan. 2) Apabila menggunakan sifat, anda perlu memberi perhatian kepada konflik kaedah, yang dapat diselesaikan melalui alternatif dan sebagai kata kunci. 3) Tua yang berlebihan harus dielakkan dan tanggungjawab tunggalnya harus dikekalkan untuk mengoptimumkan prestasi dan meningkatkan pemeliharaan kod.

Apakah bekas suntikan ketergantungan (DIC) dan mengapa menggunakan satu dalam PHP?Apakah bekas suntikan ketergantungan (DIC) dan mengapa menggunakan satu dalam PHP?Apr 10, 2025 am 09:38 AM

Kontena Suntikan Ketergantungan (DIC) adalah alat yang menguruskan dan menyediakan kebergantungan objek untuk digunakan dalam projek PHP. Manfaat utama DIC termasuk: 1. Decoupling, membuat komponen bebas, dan kod itu mudah dikekalkan dan diuji; 2. Fleksibiliti, mudah untuk menggantikan atau mengubah suai kebergantungan; 3. Keseluruhan, mudah untuk menyuntik objek mengejek untuk ujian unit.

Terangkan SPL SPLFixedArray dan ciri -ciri prestasinya berbanding dengan susunan PHP biasa.Terangkan SPL SPLFixedArray dan ciri -ciri prestasinya berbanding dengan susunan PHP biasa.Apr 10, 2025 am 09:37 AM

SplfixedArray adalah pelbagai saiz tetap dalam PHP, sesuai untuk senario di mana prestasi tinggi dan penggunaan memori yang rendah diperlukan. 1) Ia perlu menentukan saiz apabila membuat untuk mengelakkan overhead yang disebabkan oleh pelarasan dinamik. 2) Berdasarkan pelbagai bahasa C, secara langsung mengendalikan memori dan kelajuan akses cepat. 3) Sesuai untuk pemprosesan data berskala besar dan persekitaran sensitif memori, tetapi ia perlu digunakan dengan berhati-hati kerana saiznya tetap.

Bagaimana PHP mengendalikan fail memuat naik dengan selamat?Bagaimana PHP mengendalikan fail memuat naik dengan selamat?Apr 10, 2025 am 09:37 AM

PHP mengendalikan fail muat naik melalui pembolehubah fail $ \ _. Kaedah untuk memastikan keselamatan termasuk: 1. Semak kesilapan muat naik, 2. Sahkan jenis dan saiz fail, 3. Mencegah penindasan fail, 4. Pindahkan fail ke lokasi storan tetap.

Apakah pengendali pengendali coalescing null (??) dan pengendali tugasan comelan null (?? =)?Apakah pengendali pengendali coalescing null (??) dan pengendali tugasan comelan null (?? =)?Apr 10, 2025 am 09:33 AM

Dalam JavaScript, anda boleh menggunakan NullcoalescingOperator (??) dan NullcoalescingAssignmentOperator (?? =). 1.? Menerapkan semula operan pertama yang tidak berselisih atau tidak ditentukan. 2.?? Pengendali ini memudahkan logik kod, meningkatkan kebolehbacaan dan prestasi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual