Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan Kajian PHP: Bagaimana untuk melaksanakan fungsi carian teks penuh

Panduan Kajian PHP: Bagaimana untuk melaksanakan fungsi carian teks penuh

PHPz
PHPzasal
2023-08-26 18:04:581479semak imbas

Panduan Kajian PHP: Bagaimana untuk melaksanakan fungsi carian teks penuh

Panduan Kajian PHP: Cara melaksanakan fungsi carian teks penuh

Fungsi carian teks penuh digunakan secara meluas dalam laman web dan aplikasi moden, yang membolehkan pengguna mencari dan mendapatkan semula kandungan yang berkaitan dengan kata kunci. Dalam artikel ini, kami akan membincangkan cara melaksanakan fungsi carian teks penuh menggunakan PHP.

1. Persediaan
Sebelum kita mula menulis kod, kita perlu memastikan bahawa Elasticsearch dipasang pada pelayan. Elasticsearch ialah alat bahagian pelayan sumber terbuka untuk carian dan analisis teks penuh Ia menyediakan enjin carian yang berkuasa yang boleh mencari jumlah data yang besar.

2. Buat indeks
Sebelum mencari, kita perlu buat indeks terlebih dahulu. Indeks ialah tempat dokumen disimpan dalam Elasticsearch. Setiap dokumen terdiri daripada satu atau lebih medan berdasarkan yang boleh kita cari.

Berikut ialah contoh kod mudah untuk pengindeksan:

require 'vendor/autoload.php';

use ElasticsearchClientBuilder;

$client = ClientBuilder::create()
            ->setHosts(['http://localhost:9200'])
            ->build();

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

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

Dalam kod di atas, kami mula-mula mengimport perpustakaan klien Elasticsearch dan kemudian mencipta contoh klien. Seterusnya, kami mentakrifkan jenis indeks yang mengandungi medan tajuk dan kandungan dan menambahnya pada indeks bernama "artikel".

3. Tambah dokumen
Kini kita boleh menambah beberapa dokumen pada indeks. Setiap dokumen harus mengandungi ID unik dan perlu mengandungi nilai medan yang hendak dicari.

Berikut ialah contoh kod untuk menambah dokumen:

$params = [
    'index' => 'articles',
    'id' => 1,
    'body' => [
        'title' => 'Elasticsearch入门指南',
        'content' => 'Elasticsearch是一个强大的搜索引擎。'
    ]
];

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

Dalam contoh di atas, kami menyatakan nama indeks, ID dokumen dan nilai medan yang akan ditambahkan.

4. Lakukan carian teks penuh
Kini kita boleh mula menggunakan fungsi carian teks penuh. Berikut ialah contoh carian mudah:

$params = [
    'index' => 'articles',
    'body' => [
        'query' => [
            'match' => [
                'content' => '搜索引擎'
            ]
        ]
    ]
];

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

Dalam kod di atas, kami menyatakan nama indeks yang ingin kami cari dan menggunakan pertanyaan padanan untuk mencari dokumen yang mengandungi kata kunci "enjin carian".

5. Proses hasil carian
Hasil carian akan dikembalikan dalam format JSON. Kita boleh menggunakan fungsi json_decode dalam PHP untuk menyahkodnya menjadi tatasusunan atau objek yang boleh dikendalikan dan kemudian memprosesnya.

Berikut ialah contoh mudah memproses hasil carian:

$results = $response['hits']['hits'];

foreach ($results as $result) {
    $title = $result['_source']['title'];
    $content = $result['_source']['content'];

    echo "标题:$title<br>";
    echo "内容:$content<br><br>";
}

Dalam kod di atas, kami menggunakan gelung foreach untuk melelaran melalui hasil carian dan kemudian mengekstrak tajuk dan kandungan daripada setiap hasil carian dan mencetaknya.

Melalui langkah di atas, kami boleh melaksanakan fungsi carian teks penuh dalam PHP dengan mudah. Dengan mengindeks, menambah dokumen, melakukan carian dan memproses hasil carian, kami menyediakan pengguna kami pengalaman carian yang pantas dan cekap. Saya harap artikel ini akan membantu untuk mempelajari PHP untuk melaksanakan fungsi carian teks penuh.

Bahan rujukan:

  • [Dokumentasi rasmi Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html)
  • [Perpustakaan pelanggan Elasticsearch PHP](https: / /www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html)

Atas ialah kandungan terperinci Panduan Kajian PHP: Bagaimana untuk melaksanakan fungsi carian teks penuh. 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