Redis®*: ドキュメントのインデックス化と検索
このドキュメントは検索とJSONガイドの一部です。完全なガイドはこちらからご覧いただけます:RedisクエリエンジンでJSONドキュメントを保存し、効率的にクエリを実行する。
👋 Stackhero ドキュメントへようこそ!
Stackhero では、すぐに使える Redis cloud ソリューションをご提供しています。主な特長は以下の通りです:
Redis CommanderWeb UI を標準搭載。- メッセージサイズ・転送量が無制限。
- ワンクリックで簡単にアップデート可能。
- プライベートかつ専用インフラによる最適なパフォーマンスと強固なセキュリティ。
時間を節約し、運用をシンプルに:Stackhero の Redis cloud hosting ソリューションは、わずか5分でお試しいただけます!
インデックスは一度宣言するだけで十分です。Redisが、指定したプレフィックスに一致するすべてのキー(インデックス作成前から存在するキーも含む)に対して自動的にインデックスを維持します。
FT.CREATE productsIndex
ON JSON
PREFIX 1 product:
SCHEMA
$.name AS name TEXT
$.brand AS brand TAG
$.price AS price NUMERIC SORTABLE
$.tags[*] AS tags TAG
これで、以下のようなクエリを実行できます:
# 名前の全文検索と価格範囲指定
FT.SEARCH productsIndex "@name:(espresso) @price:[0 500]"
# ブランドの完全一致検索、価格順ソート
FT.SEARCH productsIndex "@brand:{Bianca}" SORTBY price ASC
# オートコンプリート用途のプレフィックス検索
FT.SEARCH productsIndex "@name:(espr*)"
Redisはインデックス上で直接集計処理も可能なため、データをエクスポートせずに分析クエリに対応できます:
FT.AGGREGATE productsIndex "*"
GROUPBY 1 @brand
REDUCE COUNT 0 AS products
REDUCE AVG 1 @price AS averagePrice
SORTBY 2 @products DESC
データをJSONではなく通常のハッシュで保存している場合は、ON HASHと標準のフィールド名をスキーマで指定してください。