Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membina fungsi penapisan yang cekap dengan PHP dan Elasticsearch

Bagaimana untuk membina fungsi penapisan yang cekap dengan PHP dan Elasticsearch

王林
王林asal
2023-07-17 12:51:101374semak imbas

Cara membina fungsi penapisan yang cekap melalui PHP dan Elasticsearch

Pengenalan:
Elasticsearch ialah penyelesaian yang sangat berkuasa apabila membina enjin carian yang cekap atau fungsi penapisan data berskala besar. Ia adalah alat sumber terbuka berdasarkan enjin carian yang diedarkan, yang boleh memproses data besar-besaran dengan cepat, menyediakan pertanyaan yang kaya dan fungsi penapisan, dan juga boleh berinteraksi melalui PHP. Artikel ini akan memperkenalkan cara membina fungsi penapisan yang cekap melalui PHP dan Elasticsearch, termasuk memasang dan mengkonfigurasi Elasticsearch, menggunakan PHP dan Elasticsearch untuk penapisan data, dsb.

1. Pasang dan konfigurasikan Elasticsearch

  1. Pasang Java: Elasticsearch ditulis berdasarkan Java, jadi anda perlu memasang Java terlebih dahulu. Anda boleh memuat turun pakej pemasangan Java dari tapak web Java rasmi, dan kemudian ikut wizard pemasangan untuk memasangnya.
  2. Muat turun dan nyahzip Elasticsearch: Muat turun pakej termampat Elasticsearch yang sesuai untuk sistem pengendalian anda di tapak web rasmi Elasticsearch, dan kemudian nyahzipnya ke lokasi yang anda ingin pasang.
  3. Mulakan Elasticsearch: Masukkan direktori penyahmampatan Elasticsearch dan laksanakan arahan bin/elasticsearch untuk memulakan Elasticsearch. bin/elasticsearch来启动Elasticsearch。
  4. 验证Elasticsearch是否成功启动:在浏览器中输入http://localhost:9200

  5. Sahkan sama ada Elasticsearch berjaya bermula: Masukkan http://localhost:9200 dalam penyemak imbas Jika maklumat yang serupa seperti berikut dikembalikan, ini bermakna Elasticsearch telah berjaya dimulakan:
rreee

    . 2. Penapisan data dengan PHP dan Elasticsearch
  1. Pasang klien Elasticsearch PHP: Gunakan Composer untuk memasang perpustakaan klien Elasticsearch untuk PHP. Jalankan arahan berikut dalam terminal:
  2. {
      "name" : "Node-1",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "42n3GoOpQkm7Bs6NOEXf0A",
      "version" : {
     "number" : "7.15.1",
     "build_flavor" : "default",
     "build_type" : "zip",
     "build_hash" : "unknown",
     "build_date" : "2022-10-26T18:07:47.101138203Z",
     "build_snapshot" : false,
     "lucene_version" : "8.10.1",
     "minimum_wire_compatibility_version" : "6.8.0",
     "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

  3. Cipta fail PHP dan import pustaka klien Elasticsearch PHP:
  4. composer require elasticsearch/elasticsearch

  5. Sambung ke Elasticsearch:
  6. require 'vendor/autoload.php';
    use ElasticsearchClientBuilder;

  7. Ciptakan semula
  8. dan buat indeks

  9. : Tambah Beberapa dokumentasi:
  10. $client = ClientBuilder::create()->build();

  11. Menapis data:
$params = [
 'index' => 'my_index',
 'body' => [
     'mappings' => [
         'properties' => [
             'name' => ['type' => 'text'],
             'age' => ['type' => 'integer']
         ]
     ]
 ]
];
$response = $client->indices()->create($params);


Ringkasan: 🎜Dengan langkah di atas, kami berjaya memasang dan mengkonfigurasi Elasticsearch serta membina fungsi penapisan mudah menggunakan PHP dan Elasticsearch. Melalui pertanyaan kuat dan keupayaan penapisan Elasticsearch, kami boleh menapis dan mencari data berskala besar dengan cepat berdasarkan pelbagai keadaan. Saya harap artikel ini membantu dan anda boleh menggunakan pengetahuan ini dalam projek akan datang. 🎜

Atas ialah kandungan terperinci Bagaimana untuk membina fungsi penapisan yang cekap dengan PHP dan Elasticsearch. 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