Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membina keupayaan carian yang berkuasa menggunakan PHP dan Elasticsearch

Bagaimana untuk membina keupayaan carian yang berkuasa menggunakan PHP dan Elasticsearch

PHPz
PHPzasal
2023-07-17 20:01:481086semak imbas

Cara membina fungsi carian yang berkuasa menggunakan PHP dan Elasticsearch

Dengan perkembangan Internet dan pertumbuhan data, fungsi carian telah menjadi bahagian yang amat diperlukan dalam laman web atau aplikasi. Sebagai enjin carian dan analisis teragih sumber terbuka berprestasi tinggi, Elasticsearch menarik perhatian dan penggunaan semakin ramai pembangun. Artikel ini akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk membina fungsi carian yang berkuasa, dan memberikan contoh kod.

1. Pasang dan konfigurasikan Elasticsearch

Pertama, anda perlu memasang dan mengkonfigurasi Elasticsearch pada pelayan anda. Anda boleh memuat turun pakej pemasangan dari laman web rasmi Elasticsearch dan memasang serta mengkonfigurasinya mengikut dokumentasi rasmi. Selepas pemasangan selesai, anda boleh mengesahkan bahawa Elasticsearch berjalan dengan betul dengan melawati http://localhost:9200.

2. Pasang dan konfigurasikan pustaka klien PHP Elasticsearch

Seterusnya, anda perlu memasang dan mengkonfigurasi perpustakaan klien Elasticsearch PHP. Anda boleh menggunakan Komposer untuk memasang pustaka ini, membuka tetingkap terminal, bertukar ke direktori projek anda, dan jalankan arahan berikut untuk memasang:

composer require elasticsearch/elasticsearch

Selepas pemasangan selesai, anda boleh mengimport perpustakaan ini ke dalam kod projek anda:

require 'vendor/autoload.php';

3. Menyambung ke Elasticsearch

Dalam kod PHP, anda perlu menggunakan perpustakaan klien PHP Elasticsearch untuk menyambung dan mengendalikan Elasticsearch. Berikut ialah kod sampel untuk menyambung ke Elasticsearch:

$client = ElasticsearchClientBuilder::create()->build();

4 Cipta indeks

Dalam Elasticsearch, indeks adalah serupa dengan jadual dalam pangkalan data hubungan dan digunakan untuk menyimpan dan menyusun data. Untuk dapat mencari, anda perlu membuat indeks dahulu dan menentukan pemetaan medan.

Berikut ialah contoh kod untuk membuat indeks:

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

$response = $client->indices()->create($params);

5. Tambah dokumen

Dalam Elasticsearch, dokumen merujuk kepada unit data yang disimpan dalam indeks. Anda perlu membuat indeks dengan menambah dokumen pada indeks.

Berikut ialah contoh kod untuk menambah dokumen:

$params = [
    'index' => 'my_index',
    'body' => [
        'title' => 'Sample Title',
        'content' => 'This is a sample document',
        'timestamp' => '2022-01-01',
    ],
];

$response = $client->index($params);

6. Cari dokumen

Mencari menggunakan Elasticsearch adalah teras ciri ini. Berikut adalah contoh kod yang mencari dokumen dalam indeks:

$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'sample',
            ],
        ],
    ],
];

$response = $client->search($params);

7. Proseskan hasil carian

Selepas mendapat hasil carian, anda perlu memprosesnya dan memaparkannya kepada pengguna. Berikut ialah contoh kod untuk memproses hasil carian:

foreach ($response['hits']['hits'] as $hit) {
    $title = $hit['_source']['title'];
    $content = $hit['_source']['content'];
    $timestamp = $hit['_source']['timestamp'];

    echo "Title: $title
";
    echo "Content: $content
";
    echo "Timestamp: $timestamp
";
    echo "
";
}

8. Optimumkan prestasi carian

Untuk meningkatkan prestasi carian, anda boleh menggunakan beberapa teknik dan kaedah. Sebagai contoh, anda boleh menggunakan halaman dan pengisihan untuk mengawal nombor dan susunan hasil carian anda boleh menggunakan penapis untuk mengehadkan skop carian anda boleh menggunakan pengagregatan untuk menjana statistik, dsb.

Ringkasnya, dengan menggunakan PHP dan Elasticsearch, anda boleh membina fungsi carian yang berkuasa dengan mudah. Sama ada anda membina tapak web, aplikasi atau sistem yang mengendalikan sejumlah besar data, anda boleh mendapat manfaat daripadanya. Saya harap contoh kod yang disediakan dalam artikel ini dapat membantu anda.

Atas ialah kandungan terperinci Bagaimana untuk membina keupayaan carian yang berkuasa menggunakan PHP dan Elasticsearch. 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