Cara menggunakan Elasticsearch dan PHP untuk membina fungsi carian berbilang syarat
Pengenalan:
Elasticsearch ialah enjin carian dan analisis teragih sumber terbuka yang sering digunakan untuk membina fungsi carian yang berkuasa. Ia membolehkan carian pantas dan tepat serta menyokong pelbagai jenis pertanyaan. Artikel ini akan memperkenalkan cara menggunakan Elasticsearch dan PHP untuk membina fungsi carian berbilang syarat dan memberikan contoh kod yang sepadan.
{ "require": { "elasticsearch/elasticsearch": "^7.0" } }
Kemudian jalankan arahan composer install
untuk memasang sambungan Elasticsearch PHP.
<?php require 'vendor/autoload.php'; use ElasticsearchClientBuilder; $hosts = [ 'http://localhost:9200' // Elasticsearch的访问地址 ]; $client = ClientBuilder::create()->setHosts($hosts)->build(); ?>
Pertama, tentukan konfigurasi indeks dan pemetaan. Sebagai contoh, kami mencipta indeks yang dipanggil "artikel" dan mentakrifkan jenis "artikel" dan menentukan jenis medan "tajuk" dan "kandungan":
<?php $params = [ 'index' => 'articles', 'body' => [ 'mappings' => [ 'properties' => [ 'title' => ['type' => 'text'], 'content' => ['type' => 'text'] ] ] ] ]; $response = $client->indices()->create($params); ?>
Kemudian, tambahkan dokumen pada indeks. Sebagai contoh, mari tambah dokumen bertajuk "Berita":
<?php $params = [ 'index' => 'articles', 'body' => [ 'title' => '新闻', 'content' => '这是一条新闻' ] ]; $response = $client->index($params); ?>
<?php $params = [ 'index' => 'articles', 'body' => [ 'query' => [ 'bool' => [ 'must' => [ ['match' => ['title' => '新闻']], ['match' => ['content' => '国际']] ] ] ] ] ]; $response = $client->search($params); ?>
Akhir sekali, ulangi hasil carian dan cetak tajuk dan kandungan setiap dokumen:
<?php foreach ($response['hits']['hits'] as $hit) { echo '标题:' . $hit['_source']['title'] . '<br>'; echo '内容:' . $hit['_source']['content'] . '<br>'; echo '----------------<br>'; } ?>
Kesimpulan:
Dengan langkah di atas, Kami boleh membina fungsi carian berbilang kriteria menggunakan Elasticsearch dan PHP. Mula-mula, pasang dan konfigurasikan Elasticsearch dan sambungan PHP yang sepadan kemudian, sambung ke Elasticsearch dan buat indeks akhirnya, lakukan carian berbilang syarat dan proses hasil carian;
Nota: Untuk memastikan ketepatan dan prestasi carian, adalah disyorkan untuk mengoptimumkan indeks sebelum menggunakan carian berbilang syarat, seperti menyediakan pembahagian perkataan yang sesuai, membina indeks, dsb.
Bahan rujukan:
Atas ialah kandungan terperinci Bagaimana untuk membina fungsi carian berbilang kriteria menggunakan Elasticsearch dan PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!