Redis®*: Tų dokumentų indeksavimas ir paieška

Ši dokumentacija yra Paieška ir JSON vadovo dalis. Visą vadovą rasite čia: Saugojimas JSON dokumentų ir efektyvus jų užklausimas naudojant Redis užklausų variklį.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Redis cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įtraukta Redis Commander žiniatinklio sąsaja.
  • Neribotas žinučių dydis ir perdavimas.
  • Paprasti atnaujinimai vienu paspaudimu.
  • Optimali veikla ir stipri apsauga dėl privačios, dedikuotos infrastruktūros.

Taupykite laiką ir palengvinkite sau darbą: išbandyti Stackhero Redis cloud hosting sprendimą užtrunka tik 5 minutes!

Indeksą reikia deklaruoti tik vieną kartą. Redis automatiškai palaikys jį atnaujintą visiems raktams, atitinkantiems pasirinktą prefiksą, įskaitant ir tuos, kurie egzistavo iki indekso sukūrimo.

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

Dabar galite vykdyti tokias užklausas kaip:

# Pilno teksto paieška pagal pavadinimą ir kainos intervalą
FT.SEARCH productsIndex "@name:(espresso) @price:[0 500]"

# Tikslus prekės ženklo atitikimas, rūšiuojant pagal kainą
FT.SEARCH productsIndex "@brand:{Bianca}" SORTBY price ASC

# Prefikso paieška automatinio užbaigimo scenarijams
FT.SEARCH productsIndex "@name:(espr*)"

Redis taip pat gali atlikti agregacijas tiesiogiai indekse, todėl galite gauti analitinius atsakymus neišeksportuodami duomenų:

FT.AGGREGATE productsIndex "*"
  GROUPBY 1 @brand
  REDUCE COUNT 0 AS products
  REDUCE AVG 1 @price AS averagePrice
  SORTBY 2 @products DESC

Jei duomenis saugote paprastuose hash'uose, o ne JSON, galite naudoti ON HASH ir standartinius laukų pavadinimus savo schemoje.