Rumah > Artikel > pembangunan bahagian belakang > Kaedah analisis tingkah laku pengguna dilaksanakan menggunakan Elasticsearch dalam PHP
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
Nyahzip fail yang dimuat turun dan mulakan perkhidmatan Elasticsearch. Ia boleh dimulakan dengan melaksanakan arahan berikut dalam terminal atau baris arahan:
bin/elasticsearch
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
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);
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
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); }
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
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:
$data = queryUserData(123); foreach($data as $hit) { echo $hit['_source']['action']." "; }
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!