Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan Carian PHP dan Manticore: melaksanakan antara muka carian yang sangat disesuaikan

Pembangunan Carian PHP dan Manticore: melaksanakan antara muka carian yang sangat disesuaikan

WBOY
WBOYasal
2023-08-05 18:41:061070semak imbas

Pembangunan Carian PHP dan Manticore: Melaksanakan antara muka carian yang sangat disesuaikan

Pengenalan:
Dalam pembangunan web, fungsi carian adalah keperluan yang sangat penting dan biasa. Untuk meningkatkan prestasi carian dan pengalaman pengguna, kami perlu menggunakan enjin carian yang sangat disesuaikan. Dalam artikel ini, saya akan menerangkan cara membangunkan antara muka carian yang berkuasa dan boleh disesuaikan menggunakan PHP dan Carian Manticore.

Manticore Search ialah versi dinaik taraf berdasarkan enjin carian sumber terbuka Sphinx, yang menyediakan prestasi lebih tinggi dan ciri yang lebih kaya, seperti carian teks penuh, pengindeksan teragih dan pilihan penyesuaian yang fleksibel. Sebagai bahasa pembangunan web yang biasa digunakan, PHP boleh disepadukan dengan lancar dengan Manticore Search untuk mencapai fungsi carian yang fleksibel dan boleh disesuaikan.

Langkah 1: Pasang Manticore Search
Mula-mula, kita perlu memasang Manticore Search pada pelayan. Anda boleh memuat turun pakej pemasangan melalui laman web rasmi (https://manticoresearch.com/) dan memasang serta mengkonfigurasinya mengikut dokumen rasmi. Selepas pemasangan selesai, kami boleh memulakan perkhidmatan Carian Manticore melalui baris arahan terminal.

Langkah 2: Buat indeks
Sebelum menggunakan Carian Manticore, kami perlu mencipta indeks untuk menyimpan data kami. Penciptaan indeks boleh dilakukan menggunakan alat baris arahan yang disediakan oleh Manticore Search atau menggunakan kod PHP. Berikut ialah contoh mencipta indeks menggunakan kod PHP:

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

use ManticoresearchDocumentsBuilder;

$index = 'my_index';
$client = new ManticoresearchClientClient();
$client->setHost('localhost');
$client->setPort(9308);

$builder = new DocumentsBuilder($client);
$builder->index($index);

$data = [
    [
        'id' => 1,
        'title' => 'Manticore Search',
        'content' => 'Manticore Search is a powerful search engine',
    ],
    [
        'id' => 2,
        'title' => 'PHP',
        'content' => 'PHP is a popular programming language for web development',
    ],
    // ... more data items
];

foreach ($data as $item) {
    $builder->create([
        'id' => $item['id'],
        'title' => $item['title'],
        'content' => $item['content'],
    ]);
}

$builder->commit();

Dengan contoh kod di atas, kita boleh mencipta indeks yang dipanggil my_index dan menambah beberapa data padanya. my_index的索引,并向其中添加一些数据。

步骤三:实现搜索功能
在创建索引后,我们可以使用PHP代码调用Manticore Search的API来实现搜索功能。下面是一个实现基本搜索功能的示例:

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

use ManticoresearchClientClient;

$index = 'my_index';
$query = 'Manticore Search';

$client = new Client();
$client->setHost('localhost');
$client->setPort(9308);

$search = $client->search($index);
$result = $search->search($query);

foreach ($result['hits']['hits'] as $hit) {
    echo 'ID: ' . $hit['_id'] . '<br>';
    echo 'Title: ' . $hit['_source']['title'] . '<br>';
    echo 'Content: ' . $hit['_source']['content'] . '<br>';
    echo '<br>';
}

通过上述示例代码,我们可以使用search

Langkah 3: Laksanakan fungsi carian

Selepas mencipta indeks, kita boleh menggunakan kod PHP untuk memanggil API Carian Manticore untuk melaksanakan fungsi carian. Berikut ialah contoh pelaksanaan fungsi carian asas:

<!DOCTYPE html>
<html>
<head>
    <style>
        .search-box {
            width: 300px;
            margin-bottom: 10px;
        }

        .search-results {
            list-style: none;
            padding: 0;
        }

        .search-results li {
            padding: 10px;
            background-color: #f5f5f5;
            margin-bottom: 5px;
        }
    </style>
</head>
<body>
    <div class="search-box">
        <input type="text" id="search-input" placeholder="Search...">
        <input type="button" id="search-button" value="Search">
    </div>

    <ul class="search-results"></ul>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(document).ready(function() {
            $('#search-button').click(function() {
                var query = $('#search-input').val();

                $.ajax({
                    url: 'search.php',
                    type: 'GET',
                    data: {query: query},
                    success: function(response) {
                        $('.search-results').empty();

                        response.forEach(function(result) {
                            var li = $('<li></li>');
                            li.text(result.title);
                            $('.search-results').append(li);
                        });
                    }
                });
            });
        });
    </script>
</body>
</html>

Melalui kod contoh di atas, kita boleh menggunakan kaedah search untuk mencari dan mendapatkan hasil carian. Kami kemudiannya boleh mengulangi hasil carian dan mengeluarkan maklumat yang berkaitan.

Langkah 4: Sesuaikan antara muka carian

Untuk memberikan pengalaman pengguna yang lebih baik, kami boleh menyesuaikan gaya dan kefungsian antara muka carian mengikut keperluan. Berikut ialah contoh penggunaan HTML dan CSS untuk menyesuaikan antara muka carian:
rrreee

Kod sampel di atas menunjukkan antara muka carian mudah di mana pengguna boleh memasukkan kata kunci dan mengklik butang carian. Fungsi carian menggunakan perpustakaan jQuery untuk memuatkan hasil carian secara tidak segerak dan memaparkan hasil pada halaman.

Kesimpulan:
    Melalui gabungan PHP dan Manticore Search, kami boleh mencapai antara muka carian yang sangat disesuaikan. Dalam artikel ini, kami mempelajari cara memasang Carian Manticore, mencipta indeks, melaksanakan fungsi carian asas dan cara menyesuaikan gaya dan kefungsian antara muka carian melalui HTML dan CSS. Menggunakan kaedah dan kod sampel ini, kami boleh menyesuaikan antara muka carian yang sesuai mengikut keperluan projek untuk meningkatkan pengalaman pengguna dan hasil carian.
  • Pautan rujukan:
https://manticoresearch.com/🎜🎜https://github.com/manticoresoftware/manticoresearch-php🎜🎜

Atas ialah kandungan terperinci Pembangunan Carian PHP dan Manticore: melaksanakan antara muka carian yang sangat disesuaikan. 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