Petua dan amalan untuk analisis data berskala besar menggunakan php Elasticsearch
#🎜🎜 #Pasang php pustaka pelanggan Elasticsearch (cth. klien Elasticsearch PHP)
<?php require 'vendor/autoload.php'; $client = new ElasticsearchClient(); // 创建索引 $params = [ 'index' => 'my_index', ]; $response = $client->indices()->create($params); // 创建映射 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'properties' => [ 'title' => [ 'type' => 'text', ], 'content' => [ 'type' => 'text', ], 'timestamp' => [ 'type' => 'date', ], ], ], ]; $response = $client->indices()->putMapping($params); // 插入数据 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'title' => 'Hello World', 'content' => 'This is a sample document', 'timestamp' => '2022-01-01T00:00:00', ], ]; $response = $client->index($params); ?>
Setelah data diindeks, Kami boleh menggunakan keupayaan pertanyaan kuat Elasticsearch untuk mendapatkan semula data. Berikut ialah contoh pertanyaan mudah:
<?php require 'vendor/autoload.php'; $client = new ElasticsearchClient(); // 查询数据 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'query' => [ 'match' => [ 'content' => 'sample', ], ], ], ]; $response = $client->search($params); // 处理查询结果 foreach ($response['hits']['hits'] as $hit) { echo $hit['_source']['title'] . " "; } ?>
<?php require 'vendor/autoload.php'; $client = new ElasticsearchClient(); // 分析数据 $params = [ 'index' => 'my_index', 'type' => 'my_type', 'body' => [ 'aggs' => [ 'avg_timestamp' => [ 'avg' => [ 'field' => 'timestamp', ], ], ], ], ]; $response = $client->search($params); // 处理分析结果 $avgTimestamp = $response['aggregations']['avg_timestamp']['value']; echo "Average Timestamp: $avgTimestamp"; ?>
match
查询来查找包含"sample"关键字的文档。Elasticsearch提供了许多强大的分析功能,以便于从大规模数据中获取有价值的洞察。以下是一个使用聚合进行分析的示例:
rrreee在以上示例中,我们使用avg
Dalam contoh di atas, kami menggunakan fungsi agregat avg
untuk mengira purata medan "cap masa".
Artikel ini memperkenalkan teknik dan amalan cara menggunakan php Elasticsearch untuk analisis data berskala besar. Kami belajar cara mengindeks, membuat pertanyaan dan menganalisis data, dengan contoh kod konkrit disediakan. Sudah tentu, Elasticsearch menyediakan banyak fungsi lanjutan lain, seperti pembahagian teks, pertanyaan kabur, pertanyaan lokasi geografi, dll., pembaca boleh meneroka dan belajar dengan lebih lanjut.
Ringkasnya, menggunakan php Elasticsearch untuk analisis data berskala besar boleh membantu kami memahami data dengan lebih baik, membuat keputusan yang lebih bijak dan meningkatkan daya saing perusahaan. Semoga artikel ini bermanfaat kepada pembaca.
Atas ialah kandungan terperinci Petua dan amalan untuk analisis data berskala besar menggunakan php Elasticsearch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!