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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu 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)

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

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

Cara cepat melaksanakan carian teks penuh dengan PHP dan Elasticsearch Cara cepat melaksanakan carian teks penuh dengan PHP dan Elasticsearch Jul 17, 2023 pm 05:17 PM

Cara cepat melaksanakan carian teks penuh dengan PHP dan Elasticsearch Carian teks penuh menjadi semakin penting dalam aplikasi moden, membantu pengguna mencari maklumat yang mereka perlukan dengan cepat. Elasticsearch ialah enjin carian sumber terbuka yang berkuasa yang menyediakan keupayaan carian teks penuh yang pantas dan cekap. Menggabungkan kuasa PHP dengan fleksibiliti Elasticsearch, kami boleh melaksanakan fungsi carian teks penuh dengan mudah. Artikel ini akan menunjukkan kepada anda cara menggunakan PHP dan Elasticse

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

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.

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

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

Amalan pembangunan coroutine tak segerak PHP: membina pelayan Websocket berprestasi tinggi Amalan pembangunan coroutine tak segerak PHP: membina pelayan Websocket berprestasi tinggi Dec 02, 2023 pm 12:21 PM

Dengan perkembangan Internet dan kemajuan teknologi yang berterusan, semakin banyak aplikasi memerlukan komunikasi masa nyata, dan teknologi Websocket telah muncul mengikut keperluan masa. Protokol Websocket boleh merealisasikan komunikasi dua hala antara penyemak imbas dan pelayan, meningkatkan prestasi masa nyata pelayan yang menolak data kepada pelanggan, dan menyediakan sokongan yang baik untuk aplikasi masa nyata. Dalam pembangunan pelayan Websocket, PHP, sebagai bahasa pengaturcaraan biasa, telah menarik lebih banyak perhatian daripada pembangun dari segi pembangunan coroutine tak segerak. Apakah perbezaan PHP

See all articles