RiSearch PHP を使用した時系列データの検索と集計を実装するための技術的アイデア
RiSearch PHP 時系列データの検索と集計を実現するための技術的アイデア
はじめに:
インターネットの発展に伴い、多くのアプリケーション システムは大量のデータを生成します。センサーデータ、ログデータ、株価などの時系列データこのデータの重要な要件は、データを迅速かつ正確に検索して集計できることです。 RiSearch は Redis をベースにした全文検索エンジンです。この記事では、RiSearch と PHP を使用して時系列データの検索と集計機能を実装する方法について説明します。
1. RiSearch のインストールと構成
まず、Redis と RiSearch をインストールし、PHP に Redis 拡張機能をインストールする必要があります。これは、次の手順で実行できます。
- Redis のインストール: Redis をダウンロードしてインストールするには、Redis 公式 Web サイト (https://redis.io/) のドキュメントを参照してください。
- RiSearch のインストール: RiSearch をダウンロードしてインストールするには、RiSearch 公式 Web サイト (https://github.com/RediSearch/RediSearch) のドキュメントを参照してください。
- redis 拡張機能をインストールする:
pecl install redis
コマンドを実行して redis 拡張機能をインストールし、PHP 拡張機能リストに追加します。
2. 時系列インデックスを作成する
RiSearch を検索と集計に使用する前に、まず時系列インデックスを作成する必要があります。ログ システムがあり、各ログにタイムスタンプとコンテンツ情報が含まれているとします。次のコードを通じて時系列インデックスを作成できます:
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->rawCommand('FT.CREATE', 'logs', 'SCHEMA', 'timestamp', 'NUMERIC', 'content', 'TEXT'); // 将日志数据添加到索引中 $logs = array( array('timestamp' => 1615516800, 'content' => '这是第一条日志'), array('timestamp' => 1615603200, 'content' => '这是第二条日志'), // ... ); foreach ($logs as $log) { $redis->rawCommand('FT.ADD', 'logs', 'doc:'.$log['timestamp'], 1.0, 'FIELDS', 'timestamp', $log['timestamp'], 'content', $log['content']); } ?>
上記のコードでは、まず「logs」という名前の時系列インデックスを作成し、作成時に「timestamp」(タイムスタンプ) という 2 つのフィールドを定義します。 )と「コンテンツ」(コンテンツ)。次に、各ログ データを時系列にインデックスに追加しました。
3. 時系列データの検索
RiSearch を使用して時系列を検索すると、非常に柔軟かつ効率的になります。以下は、時間範囲に基づいてログ データを検索するサンプル コードです。
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $query = '@timestamp:[1615516800 1615603200]'; // 搜索2021-03-12到2021-03-13之间的日志 $result = $redis->rawCommand('FT.SEARCH', 'logs', $query, 'LIMIT', 0, 10); // 输出搜索结果 foreach ($result as $key => $value) { if ($key % 2 === 0) { echo '日志ID:'.$value." "; } else { echo '内容:'.$value." "; } } ?>
上記のコードでは、FT.SEARCH
コマンドを使用して検索し、検索するインデックスを指定します。 「logs」とクエリ ステートメント「@timestamp:[1615516800 1615603200]」は、2021-03-12 から 2021-03-13 までのログを検索することを意味します。結果の数を制限し、出力を反復処理することで、検索結果を取得できます。
4. 時系列データの集計
実際のアプリケーションでは、特定の期間内の平均、最大値、最小値などを計算するなど、時系列データを集計する必要があることがよくあります。 . . RiSearch は、対応する集計関数も提供します。次は、特定の時間範囲内のログ コンテンツの頻度を計算するサンプル コードです:
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $query = '@timestamp:[1615516800 1615603200]'; // 搜索2021-03-12到2021-03-13之间的日志 $result = $redis->rawCommand('FT.AGGREGATE', 'logs', $query, 'LOAD', 1, 'GROUPBY', 1, '@content', 'REDUCE', 'COUNT', 0, 'AS', 'count'); // 输出聚合结果 foreach ($result as $item) { echo '内容:'.$item['@content'].',出现频率:'.$item['count']." "; } ?>
上記のコードでは、FT.AGGREGATE を使用します。コマンドは、集計対象のインデックス名「logs」、クエリ文「@timestamp:[1615516800 1615603200]」、および各ログ内容の出現頻度を計算する集計方法「COUNT」を指定して集計を行います。結果を反復処理することで、集計された結果を取得できます。
RiSearch と PHP を組み合わせることで、時系列データの検索や集計機能を簡単に実装できます。時系列インデックスを作成し、検索には FT.SEARCH を使用し、集計には FT.AGGREGATE を使用することで、大量の時系列データを迅速かつ正確に処理して、実際のアプリケーションのニーズを満たすことができます。この記事では基本的なアイデアとコード例のみを提供していることに注意してください。実際に使用するには、特定のニーズに基づいて対応する調整と最適化が必要です。
以上がRiSearch PHP を使用した時系列データの検索と集計を実装するための技術的アイデアの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Windows 11 で検索フィールドをクリックすると、検索インターフェイスが自動的に開きます。左側に最近のプログラムのリストが表示され、右側に Web コンテンツが表示されます。 Microsoft はそこにニュースやトレンドのコンテンツを表示します。今日のチェックでは、Bing の新しい DALL-E3 画像生成機能、「Chat Dragons with Bing」オファー、ドラゴンに関する詳細情報、Web セクションのトップ ニュース、ゲームの推奨事項、およびトレンド検索セクションを宣伝しています。項目のリスト全体は、コンピューター上でのアクティビティとは無関係です。一部のユーザーはニュースを表示できることに感謝しているかもしれませんが、これらはすべて他の場所で豊富に利用できます。直接的または間接的にそれをプロモーションまたは広告として分類する人もいます。 Microsoft はインターフェイスを使用して自社のコンテンツを宣伝しています。

C# を使用した時系列予測アルゴリズムの作成方法 時系列予測とは、過去のデータを分析することで将来のデータの傾向を予測する手法です。金融、販売、天気予報など、さまざまな分野で幅広く応用されています。この記事では、C#を使用した時系列予測アルゴリズムの書き方を具体的なコード例とともに紹介します。データの準備 時系列予測を実行する前に、まずデータを準備する必要があります。一般に、時系列データは十分な長さがあり、時系列に並べられている必要があります。データベースから取得するか、

元のコンテンツの意味を変更したり、コンテンツを微調整したり、コンテンツを書き直したり、継続したりしないでください。 「分位回帰はこのニーズを満たし、定量化された確率で予測間隔を提供します。これは、特に応答変数の条件付き分布が重要な場合に、予測変数と応答変数の間の関係をモデル化するために使用される統計手法です。従来の回帰とは異なります」図 (A): 分位回帰 分位回帰の概念は推定です。一連の回帰子 X と変数の間の線形関係をモデル化する方法です。被説明変数 Y の分位数。既存の回帰モデルは、実際には被説明変数と説明変数の関係を調べる手法です。説明変数と被説明変数の関係に焦点を当てます。

Xianyu はどのようにしてユーザーを検索しますか?ソフトウェア Xianyu では、ソフトウェア内で通信したいユーザーを直接見つけることができます。しかし、ユーザーを検索する方法がわかりません。検索後にユーザー間で表示するだけです。次は編集部からユーザーへの検索方法についてご紹介しますので、興味のある方はぜひご覧ください! Xianyu でユーザーを検索するには? 回答: 検索されたユーザーの詳細を表示します はじめに: 1. ソフトウェアを入力し、検索ボックスをクリックします。 2. ユーザー名を入力し、「検索」をクリックします。 3. 検索ボックスの下の[ユーザー]を選択して、該当するユーザーを検索します。

Baidu 詳細検索の使用方法 Baidu 検索エンジンは現在中国で最も一般的に使用されている検索エンジンの 1 つであり、豊富な検索機能を提供しており、その 1 つが詳細検索です。高度な検索は、ユーザーが必要な情報をより正確に検索し、検索効率を向上させるのに役立ちます。では、Baidu の高度な検索を使用するにはどうすればよいでしょうか?最初のステップは、Baidu 検索エンジンのホームページを開くことです。まず、Baidu の公式 Web サイト (www.baidu.com) を開く必要があります。ここが百度検索の入り口です。 2 番目のステップでは、「詳細検索」ボタンをクリックします。 Baidu の検索ボックスの右側に、

今日は、時系列予測のパフォーマンスを向上させるために、時系列データを潜在空間上の大規模な自然言語処理 (NLP) モデルと整合させる方法を提案するコネチカット大学の最近の研究成果を紹介したいと思います。この方法の鍵は、潜在的な空間ヒント (プロンプト) を使用して時系列予測の精度を高めることです。論文タイトル: S2IP-LLM: SemanticSpaceInformedPromptLearningwithLLMforTimeSeriesForecasting ダウンロードアドレス: https://arxiv.org/pdf/2403.05798v1.pdf 1. 大きな問題の背景モデル

インテリジェンスが支配する時代では、オフィス ソフトウェアも普及し、Wps フォームはその柔軟性により大多数のオフィス ワーカーに採用されています。仕事では、単純な帳票作成や文字入力だけでなく、実際の業務を遂行するためにより高度な操作スキルを習得することが求められており、データ付きの帳票や帳票を利用することで、より便利で明確、正確なものとなります。今日の教訓は、「WPS テーブルでは、検索しているデータが見つかりません。検索オプションの場所を確認してください。なぜですか?」です。 1. まず Excel テーブルを選択し、ダブルクリックして開きます。次に、このインターフェイスですべてのセルを選択します。 2. 次に、このインターフェースで、上部ツールバーの「ファイル」の「編集」オプションをクリックします。 3. 次に、このインターフェースで「」をクリックします。

次の例では、拡張子に基づいてディレクトリ内のファイルを出力します。例 importjava.io.IOException;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.file.Paths;importjava.util.stream。ストリーム; publicclassDemo{ publicstaticvoidmain(String[]args)throwsIOException{ 
