Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan Carian PHP dan Manticore: mencipta fungsi penapisan carian pintar

Pembangunan Carian PHP dan Manticore: mencipta fungsi penapisan carian pintar

WBOY
WBOYasal
2023-08-06 14:50:021434semak imbas

Pembangunan Carian PHP dan Manticore: Cipta fungsi penapisan carian pintar

Abstrak: Artikel ini akan memperkenalkan cara menggunakan Carian PHP dan Manticore untuk membangunkan aplikasi dengan fungsi penapisan carian pintar. Kami akan menggunakan Carian Manticore sebagai enjin carian teks penuh dan menggabungkannya dengan PHP untuk melaksanakan fungsi penapisan carian. Melalui artikel ini, anda akan belajar cara membina persekitaran Carian Manticore, mencipta indeks, melakukan carian dan penapisan teks penuh, dan akhirnya melaksanakan aplikasi carian dan penapisan pintar berfungsi sepenuhnya.

  1. Pengenalan

Dengan pertumbuhan pesat maklumat Internet, keperluan pengguna untuk maklumat menjadi semakin tepat. Walaupun enjin carian tradisional boleh memberikan hasil carian, mereka mempunyai kekurangan tertentu dalam memenuhi keperluan pengguna yang tepat. Oleh itu, adalah penting untuk memberikan pengalaman pengguna yang lebih baik dengan membina fungsi penapisan carian yang tepat.

  1. Pasang Manticore Search

Mula-mula, kita perlu memasang Manticore Search. Manticore Search ialah enjin carian teks penuh sumber terbuka yang pantas dengan kebolehskalaan yang baik dan prestasi tinggi. Anda boleh memuat turun dan memasang Manticore Search dari laman web rasmi Manticore Search (https://manticoresearch.com/).

  1. Buat Indeks

Selepas pemasangan selesai, kita perlu membuat indeks untuk menyimpan data yang ingin kita cari. Kod sampel berikut menunjukkan cara menggunakan sambungan PHP Carian Manticore untuk mencipta indeks:

<?php

require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchIndex;
use ManticoresearchExceptionsRuntimeException;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

try {
    $client = new Client(['host' => 'localhost', 'port' => 9308]);

    $index = new Index($client);

    $index->create([
        'index' => 'myindex',
        'type' => 'mytype',
        'fields' => [
            'title' => ['type' => 'text'],
            'content' => ['type' => 'text'],
            'category' => ['type' => 'text']
        ]
    ]);

    echo "Index created successfully.";
} catch (RuntimeException $e) {
    echo $e->getMessage();
}

?>

Kod di atas mencipta indeks bernama "myindex", yang mengandungi tiga medan: "tajuk", "kandungan" dan "kategori". Anda boleh menyesuaikannya mengikut keperluan sebenar.

  1. Carian Teks Penuh

Seterusnya, kita akan belajar cara melakukan carian teks penuh. Kod sampel berikut menunjukkan cara menggunakan sambungan PHP Carian Manticore untuk melakukan carian teks penuh:

<?php

require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

$client = new Client(['host' => 'localhost', 'port' => 9308]);

$boolQuery = new BoolQuery();
$query = new Query($client);

$boolQuery->addShould($query->match('title', 'keyword'));
$boolQuery->addShould($query->match('content', 'keyword'));
$boolQuery->addShould($query->match('category', 'keyword'));

$query->bool($boolQuery);

$result = $query->search('myindex', 'mytype');

print_r($result);

?>

Kod di atas menjalankan operasi carian teks penuh, kata kunci carian ialah "kata kunci", dan skop carian termasuk "tajuk ", "kandungan" dan "kategori" "Bidang. Anda boleh mengubah suai kata kunci carian dan skop carian mengikut keperluan anda.

  1. Penapisan Carian

Akhir sekali, kita akan belajar cara melakukan penapisan carian. Kod sampel berikut menunjukkan cara menggunakan sambungan PHP Carian Manticore untuk melakukan penapisan carian:

<?php

require 'vendor/autoload.php';

use ManticoresearchClient;
use ManticoresearchQueryBoolQuery;
use ManticoresearchQueryQuery;

$client = new Client(['host' => 'localhost', 'port' => 9308]);

$boolQuery = new BoolQuery();
$query = new Query($client);

$boolQuery->addMust($query->match('title', 'keyword'));
$boolQuery->addFilter($query->term('category', 'news'));

$query->bool($boolQuery);

$result = $query->search('myindex', 'mytype');

print_r($result);

?>

Kod di atas menambah keadaan penapis berdasarkan carian teks penuh dan syarat penapis ialah medan "kategori" adalah sama dengan "berita". Anda boleh melaraskan penapis mengikut keperluan anda.

Ringkasan:

Melalui pengenalan artikel ini, kami mempelajari cara menggunakan PHP dan Manticore Search untuk membangunkan aplikasi dengan fungsi penapisan carian pintar. Kami mempelajari cara untuk menyediakan persekitaran Carian Manticore, mencipta indeks, melakukan carian teks penuh dan penapisan carian. Saya harap artikel ini dapat membantu anda, dan saya juga berharap anda boleh mempelajari lebih lanjut fungsi berkuasa Carian Manticore melalui aplikasi praktikal.

Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: mencipta fungsi penapisan carian pintar. 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