


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.
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.jarJenis 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!

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 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 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.

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.

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.

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.

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.

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.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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
Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver CS6
Alat pembangunan web visual