Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah analisis tingkah laku pengguna dilaksanakan menggunakan Elasticsearch dalam PHP

Kaedah analisis tingkah laku pengguna dilaksanakan menggunakan Elasticsearch dalam PHP

WBOY
WBOYasal
2023-07-09 12:25:361159semak imbas

Kaedah analisis tingkah laku pengguna yang dilaksanakan menggunakan Elasticsearch dalam PHP

Gambaran Keseluruhan:
Dengan perkembangan pesat Internet, analisis tingkah laku pengguna telah menjadi bahagian penting dalam syarikat Internet utama. Dengan menganalisis data tingkah laku pengguna, kami dapat memahami dengan lebih baik pilihan dan keperluan pengguna, dengan itu menyediakan pengguna dengan perkhidmatan dan produk yang lebih diperibadikan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan Elasticsearch untuk melaksanakan analisis tingkah laku pengguna.

Prasyarat:
Sebelum kita mula, kita perlu memastikan bahawa persekitaran PHP telah dipasang dan perpustakaan pelanggan PHP Elasticsearch telah dipasang. Ia boleh dipasang dengan melaksanakan arahan berikut dalam terminal atau baris arahan:

composer require elasticsearch/elasticsearch

Perlu diingat bahawa sebelum pemasangan, anda perlu memastikan bahawa Komposer (alat pengurusan pergantungan PHP) telah dipasang.

Langkah 1: Pemasangan dan konfigurasi Elasticsearch

  1. Muat turun dan pasang Elasticsearch. Anda boleh memuat turun versi terkini dari laman web rasmi Elasticsearch (https://www.elastic.co/downloads/elasticsearch).
  2. Nyahzip fail yang dimuat turun dan mulakan perkhidmatan Elasticsearch. Ia boleh dimulakan dengan melaksanakan arahan berikut dalam terminal atau baris arahan:

    bin/elasticsearch
  3. Pastikan perkhidmatan Elasticsearch telah dimulakan dengan jayanya. Anda boleh mengakses http://localhost:9200/ Jika anda melihat output yang serupa dengan yang berikut, ini bermakna ia telah berjaya dimulakan:

    {
      "name" : "your-computer-name",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "XXXXXX",
      "version" : {
     "number" : "7.4.2",
     "build_flavor" : "default",
     "build_type" : "tar",
     "build_hash" : "XXXXXX",
     "build_date" : "XXXXXX",
     "build_snapshot" : false,
     "lucene_version" : "8.2.0",
     "minimum_wire_compatibility_version" : "6.8.0",
     "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

Langkah 2: Buat indeks dan pemetaan Elasticsearch

  1. Buat indeks baharu untuk Simpan data tingkah laku pengguna. Ia boleh dibuat dengan melaksanakan kod berikut:

    require 'vendor/autoload.php';
    
    use ElasticsearchClientBuilder;
    
    $client = ClientBuilder::create()->build();
    
    $params = [
     'index' => 'user_behavior',
     'body' => [
         'settings' => [
             'number_of_shards' => 3,
             'number_of_replicas' => 2
         ],
         'mappings' => [
             'properties' => [
                 'user_id' => [
                     'type' => 'integer'
                 ],
                 'action' => [
                     'type' => 'keyword'
                 ],
                 'timestamp' => [
                     'type' => 'date',
                     'format' => 'yyyy-MM-dd HH:mm:ss'
                 ]
             ]
         ]
     ]
    ];
    
    $response = $client->indices()->create($params);
  2. Tentukan pemetaan indeks, nyatakan jenis medan dalam indeks. Dalam kod di atas, kami mentakrifkan medan user_id字段为整数类型,action字段为关键字类型,timestamp sebagai jenis tarikh. Mengikut keperluan sebenar, jenis medan dan hubungan pemetaan boleh disesuaikan.

Langkah 3: Muat naik data gelagat pengguna ke Elasticsearch

  1. Tentukan fungsi untuk memuat naik data gelagat pengguna ke Elasticsearch. Katakan data tingkah laku pengguna kami termasuk ID pengguna, jenis tingkah laku dan cap masa. Anda boleh melaksanakan kod berikut:

    function uploadUserData($user_id, $action) {
     $client = ClientBuilder::create()->build();
    
     $params = [
         'index' => 'user_behavior',
         'body' => [
             'user_id' => $user_id,
             'action' => $action,
             'timestamp' => date("Y-m-d H:i:s")
         ]
     ];
    
     $response = $client->index($params);
    }
  2. Panggil fungsi yang anda perlukan untuk memuat naik data tingkah laku pengguna dan masukkan parameter yang sepadan:

    uploadUserData(123, 'click');

Langkah 4: Soal data gelagat pengguna

  1. a fungsi

  2. Digunakan untuk menanyakan data tingkah laku pengguna tertentu. Anda boleh melaksanakan kod berikut:

    function queryUserData($user_id) {
     $client = ClientBuilder::create()->build();
    
     $params = [
         'index' => 'user_behavior',
         'body' => [
             'query' => [
                 'match' => [
                     'user_id' => $user_id
                 ]
             ]
         ]
     ];
    
     $response = $client->search($params);
    
     return $response['hits']['hits'];
    }

    Panggil fungsi yang anda perlukan untuk menanyakan data tingkah laku pengguna dan masukkan parameter yang sepadan:
  3. $data = queryUserData(123);
    foreach($data as $hit) {
     echo $hit['_source']['action']."
    ";
    }
Kod di atas akan menanyakan semua data tingkah laku ID pengguna 123 dan menambah Jenis tingkah laku dicetak.


🎜Ringkasan: 🎜Melalui gabungan PHP dan Elasticsearch, kami boleh melaksanakan fungsi analisis tingkah laku pengguna dengan mudah. Dengan mencipta indeks dan menentukan pemetaan, kami boleh menyimpan dan mengurus data tingkah laku pengguna secara fleksibel. Melalui fungsi muat naik dan pertanyaan, kami boleh mengumpul dan menganalisis data dengan mudah. Kami berharap pengenalan dalam artikel ini dapat membantu pembaca memahami dan menggunakan kaedah analisis tingkah laku pengguna dengan lebih baik. 🎜

Atas ialah kandungan terperinci Kaedah analisis tingkah laku pengguna dilaksanakan menggunakan Elasticsearch dalam 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