Example


# Hash 추가
HSET cars#a1 name 'fast car' color red year 1950
HSET cars#b1 name 'car' color red year 1960
HSET cars#c1 name 'old car' color blue year 1970
HSET cars#d1 name 'new car' color blue year 1990

FT.CREATE - 인덱스 생성


# 인덱스 생성
FT.CREATE idx:{인덱스명} ON {HASH or JSON} PREFIX {키접두어수} {...키접두어} SCHEMA {...name type}

FT.CREATE idx:cars ON HASH PREFIX 1 cars# SCHEMA name TEXT year NUMERIC color TAG


FT.SEARCH - 조회

# 조회

- 문자열 검색
FT.SEARCH idx:cars '@name:(fast car)'

- 태그 검색
FT.SEARCH idx:cars '@color:{blue}'

- 숫자 검색
FT.SEARCH idx:cars '@year:[1955 1980]'

- 다중조건
FT.SEARCH idx:cars '@name:(fast car) @color:{blue}'

FT.SEARCH - 숫자 쿼리

# 경계값 포함 
@year:[1955 1980]

# 경계값 미포함 
@year:[(1955 (1980]

# Infinite
@year:[1955 +inf]
@year:[-inf 1955]

# 범위제외
-@year:[1955 1980]

FT.SEARCH - 태그 쿼리

# 동일값
@year:{blue}

# 제외
-@year:{blue}

# 또는(or)
@year:{red|blue}

# 공백처리
@year:{light\blue}

FT.SEARCH - 텍스트 검색

* 텍스트의 경우 스테밍(어간추출)으로 정확한 값이 아니라 알고리즘을 통하여 관련 단어로 "검색"

# 전체검색
fast

#'fast' and 'car' 검색
@name:(fast car)

#'fast' or 'car' 검색
@name:(fast|car)

#'fast' not 검색
-@name:(fast)

# 오탈자 검색
@name:(%dar%) // car <- 문자 하나의 불일치 허용
@name:(%%daar%%) // car <- 두 문자의 불일치 허용
@name:(%%%daarr%%%) // car <- 세 문자의 불일치 허용

# 접두어 검색(2글자 이상)
@name:(ca*) // car

'Notes > Redis' 카테고리의 다른 글

LUA 스크립트  (0) 2025.07.24

+ Recent posts