Bagaimana untuk mencapai padanan teks pantas menggunakan PHP dan Elasticsearch

WBOY
Lepaskan: 2023-07-20 12:40:01
asal
886 orang telah melayarinya

Cara mencapai pemadanan teks pantas menggunakan PHP dan Elasticsearch

Ikhtisar:
Dalam pembangunan web moden, pemadanan teks pantas adalah tugas yang sangat penting. Elasticsearch ialah enjin carian teragih yang berkuasa yang menyediakan keupayaan carian dan analisis teks yang fleksibel. Menggabungkan PHP dan Elasticsearch, kami boleh melaksanakan fungsi pemadanan teks pantas dengan mudah dan memberikan pengalaman carian yang lebih baik.

Artikel ini akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk mencapai padanan teks yang pantas, dan menyediakan beberapa contoh kod untuk membantu memahami dan melaksanakan fungsi ini.

Persediaan persekitaran:
Sebelum bermula, kita perlu memastikan PHP dan Elasticsearch telah dipasang dan berjaya disambungkan ke perkhidmatan Elasticsearch. Sambungan Elasticsearch untuk PHP boleh dipasang dengan arahan berikut:

$ pecl install elasticsearch
Salin selepas log masuk

Sambung ke Elasticsearch:
Pertama, kita perlu menyediakan pelanggan dalam kod PHP untuk menyambung ke Elasticsearch. Sebelum menyambung, pastikan perkhidmatan Elasticsearch dimulakan dan sahkan maklumat sambungan (seperti nama hos, nombor port, dll.). Berikut ialah contoh kod mudah untuk disambungkan ke Elasticsearch:

<?php
require 'vendor/autoload.php';
use ElasticsearchClientBuilder;

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

// 连接到localhost的Elasticsearch服务
$hosts = ['localhost:9200'];
$client = ClientBuilder::create()
                ->setHosts($hosts)
                ->build();
?>
Salin selepas log masuk

Cipta indeks:
Seterusnya, kita perlu mencipta indeks dan mentakrifkan struktur dokumen untuk menyimpan data teks kita. Indeks boleh difahami sebagai jadual dalam pangkalan data, dan dokumen boleh difahami sebagai baris dalam jadual.

Berikut ialah contoh kod untuk mencipta indeks yang dipanggil "artikel" dan mentakrifkan struktur dokumen:

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

// 创建索引和映射
$response = $client->indices()->create($params);
?>
Salin selepas log masuk

Memasukkan dokumen:
Setelah indeks berjaya dibuat, kami boleh memasukkan data dokumen ke dalamnya. Berikut ialah contoh kod untuk memasukkan dokumen bertajuk "Cara mencapai pemadanan teks pantas menggunakan PHP dan Elasticsearch" ke dalam indeks "artikel":

<?php
$params = [
    'index' => 'articles',
    'id' => '1',
    'body' => [
        'title' => '如何使用PHP和Elasticsearch实现快速文本匹配',
        'content' => '在现代的Web开发中,快速的文本匹配是一个非常重要的任务...'
    ]
];

// 插入文档
$response = $client->index($params);
?>
Salin selepas log masuk

Melakukan carian teks:
Setelah data dimasukkan dengan jayanya, kami boleh melaksanakan teks cari . Elasticsearch menyediakan carian teks penuh dan keupayaan padanan untuk memadankan data teks dengan mudah.

Berikut ialah contoh kod untuk mencari tajuk yang mengandungi kata kunci "PHP":

<?php
$params = [
    'index' => 'articles',
    'body' => [
        'query' => [
            'match' => [
                'title' => 'PHP'
            ]
        ]
    ]
];

// 执行搜索
$response = $client->search($params);

// 解析搜索结果
$hits = $response['hits']['hits'];
foreach ($hits as $hit) {
    $title = $hit['_source']['title'];
    $content = $hit['_source']['content'];
    echo "标题: $title
";
    echo "内容: $content

";
}
?>
Salin selepas log masuk

Ringkasan:
Dengan menggabungkan PHP dan Elasticsearch, kami boleh melaksanakan fungsi pemadanan teks pantas dengan mudah. Artikel ini menerangkan cara menyambung, membuat indeks, memasukkan dokumen dan melakukan carian teks menggunakan PHP dan Elasticsearch, serta disertakan dengan beberapa kod sampel untuk membantu memahami dan melaksanakan fungsi ini. Saya harap artikel ini dapat membantu anda menggunakan fungsi pemadanan teks dengan lebih baik dalam pembangunan web.

Atas ialah kandungan terperinci Bagaimana untuk mencapai padanan teks pantas menggunakan PHP dan Elasticsearch. 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