Rumah pembangunan bahagian belakang tutorial php Amalan pembangunan fungsi carian berkaitan berdasarkan Elasticsearch dalam PHP

Amalan pembangunan fungsi carian berkaitan berdasarkan Elasticsearch dalam PHP

Oct 03, 2023 am 09:07 AM
elasticsearch amalan pembangunan Carian berkaitan

PHP 中基于 Elasticsearch 的相关搜索功能开发实践

Amalan pembangunan fungsi carian berkaitan berdasarkan Elasticsearch dalam PHP

Ikhtisar
Dalam pembangunan web moden, fungsi carian adalah bahagian yang sangat penting. Sebagai enjin carian teragih yang berkuasa dan fleksibel, Elasticsearch digunakan secara meluas dalam pelbagai aplikasi web. Artikel ini akan memperkenalkan cara menggunakan Elasticsearch dalam PHP untuk membangunkan fungsi carian yang berkaitan, dan melampirkan contoh kod tertentu.

Pemasangan dan konfigurasi Elasticsearch
Pertama, kita perlu memasang Elasticsearch dan melaksanakan konfigurasi yang berkaitan. Anda boleh memilih versi yang sesuai untuk sistem pengendalian anda melalui halaman muat turun tapak web rasmi Elasticsearch (https://www.elastic.co/cn/downloads/elasticsearch) dan memasangnya mengikut langkah pemasangan rasmi.

Selepas pemasangan selesai, anda perlu mengubah suai fail konfigurasi Elasticsearch elasticsearch.yml. Buka fail ini, cari dan ubah suai konfigurasi berikut:

cluster.name: my-cluster
node.name: my-node
network.host: 0.0.0.0
http.port: 9200
Salin selepas log masuk

Menggunakan Elasticsearch PHP Client
Untuk menggunakan Elasticsearch dalam PHP, kami perlu memasang klien Elasticsearch PHP. Ia boleh dipasang melalui Komposer, arahannya adalah seperti berikut:

composer require elasticsearch/elasticsearch
Salin selepas log masuk

Selepas pemasangan selesai, kita boleh menggunakan kod berikut untuk memulakan klien Elasticsearch dalam PHP:

require 'vendor/autoload.php';

$client = ElasticsearchClientBuilder::create()->build();
Salin selepas log masuk

Buat indeks dan pemetaan
Sebelum menggunakan Elasticsearch untuk mencari, kita perlu mencipta indeks terlebih dahulu dan pemetaan tetapan. Indeks adalah seperti jadual dalam pangkalan data, dan pemetaan adalah seperti medan dalam jadual. Setiap indeks boleh mempunyai berbilang pemetaan.

Berikut ialah contoh membuat indeks dan pemetaan:

$params = [
    'index' => 'my_index',
    'body' => [
        'mappings' => [
            'properties' => [
                'title' => [
                    'type' => 'text',
                ],
                'content' => [
                    'type' => 'text',
                ],
                'created_at' => [
                    'type' => 'date',
                ],
            ],
        ],
    ],
];

$response = $client->indices()->create($params);
Salin selepas log masuk

Menambah dokumen pada indeks
Setelah indeks dibuat, kita boleh menambah data pada indeks supaya ia boleh dicari. Berikut ialah contoh penambahan dokumen pada indeks:

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'title' => 'Elasticsearch 示例文章',
        'content' => '这是一个关于Elasticsearch的示例文章。',
        'created_at' => '2022-01-01',
    ],
];

$response = $client->index($params);
Salin selepas log masuk

Cari dokumen
Dengan indeks dan data tersedia, kami boleh melakukan operasi carian. Berikut ialah contoh carian teks penuh ringkas:

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'content' => 'Elasticsearch',
            ],
        ],
    ],
];

$response = $client->search($params);
Salin selepas log masuk

Kod di atas akan mengembalikan semua dokumen yang mengandungi kata kunci "Elasticsearch" dalam kandungan.

Pengagregatan dan Penapisan
Selain carian teks penuh yang mudah, Elasticsearch juga menyediakan keupayaan pengagregatan dan penapisan yang berkuasa. Berikut ialah contoh:

$params = [
    'index' => 'my_index',
    'body' => [
        'aggs' => [
            'avg_views' => [
                'avg' => [
                    'field' => 'views',
                ],
            ],
        ],
        'query' => [
            'term' => [
                'category' => 'technology',
            ],
        ],
    ],
];

$response = $client->search($params);
Salin selepas log masuk

Kod di atas akan mengembalikan purata bilangan paparan dalam dokumen yang diklasifikasikan sebagai "teknologi".

Ringkasan
Artikel ini memperkenalkan cara menggunakan Elasticsearch dalam PHP untuk membangunkan fungsi carian yang berkaitan. Kami melalui pemasangan dan konfigurasi Elasticsearch, menggunakan klien Elasticsearch PHP, mencipta indeks dan pemetaan, dan menambah dokumen pada indeks. Selain itu, kami menunjukkan penggunaan carian teks penuh mudah dan keupayaan penapisan agregat. Kod sampel di atas adalah untuk rujukan sahaja dan perlu diselaraskan mengikut keperluan khusus dalam projek sebenar.

Saya harap artikel ini dapat membantu anda memahami dan menggunakan fungsi carian yang berkaitan berdasarkan Elasticsearch dalam PHP.

Atas ialah kandungan terperinci Amalan pembangunan fungsi carian berkaitan berdasarkan Elasticsearch dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan Elasticsearch dan PHP untuk carian dan pengesyoran produk Cara menggunakan Elasticsearch dan PHP untuk carian dan pengesyoran produk Jul 09, 2023 pm 03:07 PM

Cara menggunakan Elasticsearch dan PHP untuk carian dan pengesyoran produk Pengenalan: Dalam bidang e-dagang hari ini, sistem carian dan pengesyoran yang baik adalah sangat penting untuk pengguna. Elasticsearch ialah enjin carian sumber terbuka yang berkuasa dan fleksibel Digabungkan dengan PHP sebagai bahasa pembangunan bahagian belakang, ia boleh menyediakan carian produk yang cekap dan fungsi pengesyoran yang diperibadikan untuk tapak web e-dagang. Artikel ini akan memperkenalkan cara menggunakan Elasticsearch dan PHP untuk melaksanakan fungsi carian dan pengesyoran produk, dan lampirkan

php Elasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai fungsi carian yang fleksibel? php Elasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai fungsi carian yang fleksibel? Sep 13, 2023 am 10:21 AM

PHPElasticsearch: Bagaimana untuk menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel? Pengenalan: Fungsi carian adalah bahagian penting dalam membangunkan aplikasi moden. Elasticsearch ialah enjin carian dan analisis berkuasa yang menyediakan fungsi yang kaya dan pemodelan data yang fleksibel. Dalam artikel ini, kami akan menumpukan pada cara menggunakan pemetaan dinamik untuk mencapai keupayaan carian yang fleksibel. 1. Pengenalan kepada pemetaan dinamik Dalam Elasticsearch, pemetaan (mapp

Amalan pembangunan Swoole dan Workerman: perbandingan menyeluruh Amalan pembangunan Swoole dan Workerman: perbandingan menyeluruh Sep 09, 2023 am 10:57 AM

Amalan pembangunan Swoole dan Workerman: perbandingan komprehensif Pengenalan: Dalam bidang pembangunan web, pelayan berprestasi tinggi merupakan topik yang tidak boleh diabaikan. Swoole dan Workerman, dua sambungan PHP yang terkenal, kedua-duanya menyediakan fungsi untuk membina pelayan berprestasi tinggi dengan cepat. Artikel ini akan menjalankan perbandingan menyeluruh antara mereka, termasuk pemasangan dan konfigurasi, model pengaturcaraan, ujian prestasi, dll., untuk membantu pembaca memilih rangka kerja pelayan yang sesuai untuk projek mereka sendiri. 1. Pasang dan konfigurasikan Swoole dan Workerman

Kajian mendalam tentang sintaks pertanyaan Elasticsearch dan pertempuran praktikal Kajian mendalam tentang sintaks pertanyaan Elasticsearch dan pertempuran praktikal Oct 03, 2023 am 08:42 AM

Kajian mendalam sintaks pertanyaan Elasticsearch dan pengenalan praktikal: Elasticsearch ialah enjin carian sumber terbuka berdasarkan Lucene Ia digunakan terutamanya untuk carian dan analisis yang diedarkan Ia digunakan secara meluas dalam carian teks penuh data berskala besar , sistem pengesyoran dan senario lain. Apabila menggunakan Elasticsearch untuk pertanyaan data, penggunaan fleksibel sintaks pertanyaan adalah kunci untuk meningkatkan kecekapan pertanyaan. Artikel ini akan menyelidiki sintaks pertanyaan Elasticsearch dan memberikannya berdasarkan kes sebenar.

Cara menggunakan PHP dan Elasticsearch untuk menyerlahkan hasil carian Cara menggunakan PHP dan Elasticsearch untuk menyerlahkan hasil carian Jul 17, 2023 pm 09:24 PM

Cara menggunakan PHP dan Elasticsearch untuk mencapai hasil carian yang diserlahkan Pengenalan: Dalam dunia Internet moden, enjin carian telah menjadi cara utama untuk orang ramai mendapatkan maklumat. Untuk meningkatkan kebolehbacaan dan pengalaman pengguna hasil carian, menyerlahkan kata kunci carian telah menjadi keperluan biasa. Artikel ini akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk mencapai hasil carian yang diserlahkan. 1. Persediaan Sebelum memulakan, kita perlu memastikan PHP dan Elasticsearch telah dipasang dan dikonfigurasikan dengan betul.

Analisis log dan pemantauan pengecualian berdasarkan Elasticsearch dalam PHP Analisis log dan pemantauan pengecualian berdasarkan Elasticsearch dalam PHP Oct 03, 2023 am 10:03 AM

Ringkasan analisis log dan pemantauan pengecualian berdasarkan Elasticsearch dalam PHP: Artikel ini akan memperkenalkan cara menggunakan pangkalan data Elasticsearch untuk analisis log dan pemantauan pengecualian. Melalui contoh kod PHP ringkas, ia menunjukkan cara untuk menyambung ke pangkalan data Elasticsearch, menulis data log ke pangkalan data dan menggunakan fungsi pertanyaan kuat Elasticsearch untuk menganalisis dan memantau anomali dalam log. Pengenalan: Analisis log dan pemantauan pengecualian adalah

Bina enjin carian yang cekap menggunakan PHP dan Elasticsearch Bina enjin carian yang cekap menggunakan PHP dan Elasticsearch Jul 09, 2023 pm 04:57 PM

Gunakan PHP dan Elasticsearch untuk membina enjin carian yang cekap Pengenalan: Dalam era Internet hari ini, enjin carian adalah pilihan pertama orang ramai untuk mendapatkan maklumat. Untuk memberikan hasil carian yang pantas dan tepat, pembangun perlu membina enjin carian yang cekap. Artikel ini akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk membina enjin carian yang cekap, dan memberikan contoh kod yang sepadan. 1. Apakah itu Elasticsearch? Elasticsearch ialah carian dan analitik sumber terbuka yang diedarkan

PHP Elasticsearch dan panduan amalan penyepaduan pangkalan data hubungan PHP Elasticsearch dan panduan amalan penyepaduan pangkalan data hubungan Sep 13, 2023 pm 12:49 PM

Pengenalan kepada Panduan Praktikal untuk Integrasi PHPElasticsearch dan Pangkalan Data Hubungan: Dengan kemunculan Internet dan era data besar, kaedah penyimpanan dan pemprosesan data juga sentiasa berkembang. Pangkalan data hubungan tradisional secara beransur-ansur menunjukkan beberapa kelemahan apabila berhadapan dengan senario seperti data besar-besaran, bacaan dan penulisan serentak yang tinggi, dan carian teks penuh. Sebagai enjin carian dan analisis teragih masa nyata, Elasticsearch telah menarik perhatian dan penggunaan industri secara beransur-ansur melalui carian teks penuh berprestasi tinggi, analisis masa nyata dan fungsi visualisasi data. Berlari

See all articles