Gunakan PHP dan Carian Manticore untuk membangunkan enjin carian dengan penyegerakan data masa nyata

WBOY
Lepaskan: 2023-08-07 08:50:01
asal
790 orang telah melayarinya

Gunakan PHP dan Manticore Search untuk membangunkan enjin carian dengan penyegerakan data masa nyata

Enjin carian memainkan peranan penting dalam era maklumat hari ini. Dengan perkembangan pesat Internet, permintaan pengguna terhadap enjin carian juga semakin tinggi. Enjin carian tradisional biasanya mengambil masa tertentu untuk menyegerakkan data terkini, yang tidak mencukupi dalam beberapa senario yang memerlukan data masa nyata. Untuk menyelesaikan masalah ini, artikel ini akan memperkenalkan cara menggunakan PHP dan Carian Manticore untuk membangunkan enjin carian dengan penyegerakan data masa nyata.

Pertama, mari kita fahami apa itu Manticore Search. Manticore Search ialah enjin carian teks berprestasi tinggi sumber terbuka yang menyediakan carian teks penuh yang cekap dan keupayaan pengindeksan masa nyata. Ia menyokong pertanyaan SQL dan sintaks pertanyaan JSON yang serupa dengan Elasticsearch, dan sesuai untuk pelbagai senario aplikasi daripada tapak web kecil kepada platform data yang besar. Carian Manticore dicirikan oleh kelajuan pantas, sokongan untuk pengindeksan masa nyata dan penggunaan teragih, menjadikannya pilihan ideal untuk membangunkan enjin carian dengan penyegerakan data masa nyata.

Pertama, kami perlu memastikan kami mempunyai versi terkini PHP dan Carian Manticore yang dipasang. Anda boleh menyemak versi dengan memasukkan arahan berikut dalam terminal atau command prompt:

php -v
searchd --help | grep Manticore
Salin selepas log masuk

Jika nombor versi yang dipaparkan adalah yang terkini, maka kita boleh meneruskan ke langkah seterusnya.

Seterusnya, kami perlu memperkenalkan perpustakaan klien Manticore Search ke dalam projek PHP. Ini boleh dicapai dengan menyimpan kod berikut sebagai fail manticore.php dan memperkenalkannya dalam projek: manticore.php文件,并在项目中引入该文件来实现:

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

use ManticoresearchClient;
use ManticoresearchIndex;

$host = 'localhost';
$port = 9308;

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

$index = new Index($client);
$index->setIndex('example_index');

// 在这里进行索引的创建、删除、更新等操作
Salin selepas log masuk

现在,我们创建一个名为example_index

$index->create(['columns' => [
  ['name' => 'title', 'type' => 'text', 'options' => ['indexed' => true, 'stored' => true]],
  ['name' => 'content', 'type' => 'text', 'options' => ['indexed' => true, 'stored' => true]],
]]);
Salin selepas log masuk

Sekarang, kami mencipta indeks yang dipanggil example_index, Dan boleh lakukan beberapa operasi dalam indeks itu. Berikut ialah beberapa contoh operasi biasa:
  • Buat indeks:
  • $index->drop();
    Salin selepas log masuk
  • Padam indeks:
  • $index->bulk('insert', [
      ['index' => ['_id' => 1, 'title' => '文章标题1', 'content' => '文章内容1']],
      ['index' => ['_id' => 2, 'title' => '文章标题2', 'content' => '文章内容2']],
    ]);
    Salin selepas log masuk
  • Masukkan data:
  • $index->bulk('update', [
      ['update' => ['_id' => 1, 'doc' => ['title' => '新的标题1']]],
      ['update' => ['_id' => 2, 'doc' => ['title' => '新的标题2']]],
    ]);
    Salin selepas log masuk
  • Terbaru
  • Padam data:
  • $index->bulk('delete', [
      ['delete' => ['_id' => 1]],
      ['delete' => ['_id' => 2]],
    ]);
    Salin selepas log masuk
  • Data pertanyaan:
  • $query = [
      'index' => 'example_index',
      'body' => [
          'query' => [
              'match' => [
                  'title' => '关键词',
              ],
          ],
      ],
    ];
    
    $result = $client->search($query);
    
    foreach ($result['hits']['hits'] as $hit) {
      echo $hit['_source']['title'] . ': ' . $hit['_source']['content'] . "
    ";
    }
    Salin selepas log masuk

    Contoh kod di atas menunjukkan cara membuat indeks, memasukkan, mengemas kini, memadam data dan melakukan pertanyaan. Sila laraskan mengikut keperluan sebenar.

    Melalui kod sampel mudah ini, kita dapat melihat cara menggunakan PHP dan Manticore Search untuk membangunkan enjin carian dengan penyegerakan data masa nyata. Kaedah ini dapat merealisasikan fungsi menyegerakkan data ke enjin carian serta-merta selepas ia dikemas kini dalam masa nyata untuk memenuhi senario permintaan data masa nyata. Semoga artikel ini dapat membantu anda! 🎜

    Atas ialah kandungan terperinci Gunakan PHP dan Carian Manticore untuk membangunkan enjin carian dengan penyegerakan data masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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!