Panduan Kajian PHP: Bagaimana untuk melaksanakan fungsi carian teks penuh

PHPz
Lepaskan: 2023-08-26 18:08:01
asal
1479 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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>";
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan