Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan keupayaan carian dan pengindeksan teragih dalam perkhidmatan mikro PHP

Bagaimana untuk melaksanakan keupayaan carian dan pengindeksan teragih dalam perkhidmatan mikro PHP

王林
王林asal
2023-09-25 17:49:51921semak imbas

Bagaimana untuk melaksanakan keupayaan carian dan pengindeksan teragih dalam perkhidmatan mikro PHP

Cara melaksanakan fungsi carian dan pengindeksan teragih dalam perkhidmatan mikro PHP memerlukan contoh kod khusus

Dengan perkembangan pesat Internet, besar Kemunculan dan penggunaan data telah menjadikan enjin carian sebagai salah satu alat yang sangat diperlukan dalam masyarakat moden. Dalam kebanyakan aplikasi web, keupayaan carian dan pengindeksan adalah penting untuk menyediakan pengambilan dan penapisan data yang cepat dan tepat. Artikel ini akan memperkenalkan cara melaksanakan fungsi carian dan pengindeksan teragih dalam perkhidmatan mikro PHP dan menyediakan contoh kod yang berkaitan.

1 Fahami carian dan pengindeksan yang diedarkan

Pencarian dan pengindeksan teragih adalah untuk membahagikan set data yang besar kepada berbilang serpihan dan mengedarkan serpihan ini merentasi pelbagai Teknologi untuk pemprosesan selari pada pelayan. . Ia terutamanya termasuk komponen utama berikut:

  1. Storan teragih: Data dibahagikan kepada berbilang serpihan dan disimpan pada berbilang pelayan, dan data boleh diambil melalui indeks serpihan.
  2. Pengambilan semula diedarkan: Proses berbilang serpihan secara selari untuk mempercepatkan carian data dan gabungkan hasilnya kembali kepada pelanggan.
  3. Indeks teragih: Bahagikan data kepada berbilang serpihan dan jana fail indeks untuk setiap serpihan untuk meningkatkan kecekapan pengambilan data.

2. Gunakan Elasticsearch untuk melaksanakan carian dan pengindeksan teragih

Elasticsearch ialah enjin carian dan analisis teragih sumber terbuka yang dibina pada perpustakaan Apache Lucene. Ia menyediakan mendapatkan semula teks penuh yang berkuasa dan keupayaan carian diedarkan, sesuai untuk pelbagai jenis aplikasi. Berikut ialah langkah-langkah untuk melaksanakan carian dan pengindeksan teragih menggunakan Elasticsearch dalam perkhidmatan mikro PHP:

  1. Pasang Elasticsearch dan pelanggan PHP Elasticsearch
#🎜🎜🎜#Pertama , anda perlukan untuk memasang klien Elasticsearch dan PHP Elasticsearch. Anda boleh memasang Elasticsearch pada Ubuntu dengan arahan berikut:

$ sudo apt-get update
$ sudo apt-get install elasticsearch

Kemudian, anda boleh menggunakan Composer untuk memasang klien PHP Elasticsearch:

composer require elasticsearch/elasticsearch

    Connect to an Elasticsearch cluster# 🎜🎜#
  1. Dalam kod PHP, anda perlu menggunakan klien PHP Elasticsearch untuk menyambung ke kelompok Elasticsearch. Berikut ialah contoh kod:
require 'vendor/autoload.php';
$client = ElasticsearchClientBuilder::create()->build();

Buat indeks dan tambah dokumen
  1. Seterusnya, anda boleh menggunakan klien untuk membuat indeks dan menambah dokumen . Berikut ialah contoh kod:
$params = [
    'index' => 'my_index',
    'body' => [
        'settings' => [
            'number_of_shards' => 2,
            'number_of_replicas' => 1,
        ],
        'mappings' => [
            'properties' => [
                'title' => ['type' => 'text'],
                'content' => ['type' => 'text'],
                'timestamp' => ['type' => 'date'],
            ]
        ]
    ]
];

$response = $client->indices()->create($params);

$params = [
    'index' => 'my_index',
    'id' => '1',
    'body' => [
        'title' => 'Example',
        'content' => 'This is an example document.',
        'timestamp' => '2022-01-01T00:00:00Z',
    ]
];

$response = $client->index($params);

Search Document
  1. Akhir sekali, anda boleh menggunakan klien untuk melaksanakan operasi carian. Berikut ialah kod sampel:
$params = [
    'index' => 'my_index',
    'body' => [
        'query' => [
            'match' => [
                'content' => 'example',
            ]
        ]
    ]
];

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

foreach ($response['hits']['hits'] as $hit) {
    echo $hit['_source']['title'];
}

Sampel kod di atas menunjukkan cara menggunakan klien PHP Elasticsearch untuk menyambung ke gugusan Elasticsearch, mencipta indeks dan menambah dokumen serta mencari dokumen. Anda boleh membuat pengubahsuaian dan sambungan yang sepadan mengikut keperluan sebenar.

Ringkasan

Artikel ini memperkenalkan cara melaksanakan fungsi carian dan pengindeksan teragih dalam perkhidmatan mikro PHP dan menyediakan contoh kod khusus. Dengan menggunakan enjin Elasticsearch, anda boleh dengan mudah melaksanakan pengambilan data yang cekap dan keupayaan carian. Saya harap artikel ini akan membantu anda apabila melaksanakan carian teragih dan keupayaan pengindeksan.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan keupayaan carian dan pengindeksan teragih dalam perkhidmatan mikro PHP. 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