Redis®*: ドキュメントのインデックス化と検索

このドキュメントは検索とJSONガイドの一部です。完全なガイドはこちらからご覧いただけます:RedisクエリエンジンでJSONドキュメントを保存し、効率的にクエリを実行する

👋 Stackhero ドキュメントへようこそ!

Stackhero では、すぐに使える Redis cloud ソリューションをご提供しています。主な特長は以下の通りです:

  • Redis Commander Web 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と標準のフィールド名をスキーマで指定してください。