Gunakan PHP dan Carian Manticore untuk membangun dan melaksanakan fungsi carian teks penuh

WBOY
Lepaskan: 2023-08-08 10:22:01
asal
1197 orang telah melayarinya

利用PHP和Manticore Search开发实现全文搜索功能

Menggunakan Carian PHP dan Manticore untuk membangun dan melaksanakan fungsi carian teks penuh

Pengenalan:
Carian teks penuh ialah salah satu fungsi biasa dan penting dalam aplikasi web moden. Ia membolehkan pengguna mencari keseluruhan kandungan teks mengikut kata kunci untuk mencari maklumat yang mereka perlukan dengan cepat. Dalam artikel ini, kami akan membangunkan fungsi carian teks penuh menggunakan PHP dan Carian Manticore, dan menyediakan beberapa contoh kod praktikal.

1. Apakah itu Manticore Search?
Manticore Search ialah enjin carian teks penuh yang pantas, sumber terbuka dan kaya dengan ciri. Ia berdasarkan projek sumber terbuka Sphinx Search, dan telah membuat banyak penambahbaikan dan pengoptimuman atas dasar ini. Carian Manticore mempunyai keupayaan pengindeksan teks penuh yang berkuasa, menyokong kemas kini indeks masa nyata, menyokong carian teragih, dsb. Dalam contoh kami, kami akan menggunakan Carian Manticore untuk menyimpan dan mencari data teks kami.

2. Pasang dan konfigurasikan Manticore Search
Pertama, kita perlu memasang dan mengkonfigurasi Manticore Search. Anda boleh memuat turun pakej pemasangan Carian Manticore terkini dari tapak web rasmi Manticore (https://manticoresearch.com/), dan pasang serta konfigurasikannya mengikut dokumentasi rasmi.

3. Cipta indeks
Sebelum mula menggunakan Carian Manticore, kita perlu mencipta indeks untuk menyimpan data teks kita. Buka terminal, pergi ke direktori pemasangan Manticore Search, dan buat indeks menggunakan arahan berikut:

$ indexer --all --config /path/to/manticore.conf
Salin selepas log masuk

Ini akan membaca tetapan untuk indeks daripada fail konfigurasi dan mencipta direktori dan fail yang diperlukan untuk indeks.

4. Masukkan data
Sebelum kita mula mencari, kita perlu memasukkan data ke dalam indeks kita. Anda boleh memasukkan data ke dalam Carian Manticore menggunakan contoh kod PHP berikut:

<?php
require_once 'vendor/autoload.php';

$client = new ManticoresearchClient(["host" => "localhost", "port" => 9308]);
$indexName = "my_index";

$indexParams = [
    "body" => [
        "fields" => [
            "title" => [
                "type" => "text",
                "indexed" => true,
                "stored" => true,
            ],
            "content" => [
                "type" => "text",
                "indexed" => true,
                "stored" => false,
            ],
        ]
    ]
];

$response = $client->indices()->create($indexName, $indexParams);

$documentParams = [
    "index" => $indexName,
    "body" => [
        [
            "id" => 1,
            "title" => "PHP全文搜索",
            "content" => "使用PHP和Manticore Search开发实现全文搜索功能",
        ],
        [
            "id" => 2,
            "title" => "Manticore Search简介",
            "content" => "Manticore Search是一个快速、开源且功能丰富的全文搜索引擎。",
        ]
    ]
];

$response = $client->bulk($documentParams);
Salin selepas log masuk

Dalam contoh kod di atas, kami mula-mula mencipta objek pelanggan Carian Manticore. Kemudian, kami menentukan nama dan sifat indeks. Seterusnya, kami mencipta indeks menggunakan kaedah $client->indices()->create(). Akhir sekali, kami memasukkan data ke dalam indeks menggunakan kaedah $client->bulk(). $client->indices()->create()方法创建了一个索引。最后,我们使用$client->bulk()方法将数据插入到索引中。

五、搜索数据
当我们插入数据后,我们可以使用以下PHP代码示例来搜索数据:

<?php
require_once 'vendor/autoload.php';

$client = new ManticoresearchClient(["host" => "localhost", "port" => 9308]);
$indexName = "my_index";

$searchParams = [
    "index" => $indexName,
    "body" => [
        "query" => [
            "match" => [
                "content" => "PHP"
            ]
        ]
    ]
];

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

foreach ($response["hits"]["hits"] as $hit) {
    echo "ID: ".$hit["_id"]."
";
    echo "Title: ".$hit["_source"]["title"]."
";
    echo "Content: ".$hit["_source"]["content"]."
";
}
Salin selepas log masuk

在上面的代码示例中,我们首先创建了一个Manticore Search的客户端对象。然后,我们定义了搜索参数,指定了要搜索的索引和查询条件。接下来,我们使用$client->search()

5. Cari data

Selepas kami memasukkan data, kami boleh menggunakan contoh kod PHP berikut untuk mencari data:
rrreee

Dalam contoh kod di atas, kami mula-mula mencipta objek pelanggan Carian Manticore. Kemudian, kami menentukan parameter carian, menentukan indeks untuk dicari dan kriteria pertanyaan. Seterusnya, kami menggunakan kaedah $client->search() untuk mencari dan mencetak hasil carian dalam satu gelung. 🎜🎜Kesimpulan: 🎜Dengan menggunakan PHP dan Manticore Search, kami boleh melaksanakan fungsi carian teks penuh dengan mudah. Kekuatan dan fleksibiliti Manticore Search menjadikannya pilihan yang ideal. Saya harap artikel ini membantu anda, dan anda dialu-alukan untuk menyelidiki dan meneroka lebih banyak ciri dan penggunaan Carian Manticore. 🎜

Atas ialah kandungan terperinci Gunakan PHP dan Carian Manticore untuk membangun dan 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!