Why FT.SUGGET won't search input in the complete key value?

I know can use FT.SEARCH to search across all the fields in the document but i am curious to know/understand why FT.SUGGET only searches using the prefix? Is it for performance reasons or FT.SUG* is not meant for this purposes.

An example use case is like we have set of address for a common place and when user starts typing the suburb name we want to list all the address in that suburb for the place then the prefix search is not going to work. if you see below command trail i’ve added 4 locations in the same suburb called “St Kilda” and when i tried to get suggestions using “St Kilda” it hasn’t retrieved any suggestions. But as i retrieved using “10 St Kilda” it started returning some suggestions.

127.0.0.1:6379> FT.SUGADD location “101 St Kilda Rd, Melbourne” 1.0
(integer) 1
127.0.0.1:6379> FT.SUGADD location “102 St Kilda Rd, Melbourne” 1.0
(integer) 2
127.0.0.1:6379> FT.SUGADD location “105 St Kilda Rd, Melbourne” 1.0
(integer) 3
127.0.0.1:6379> FT.SUGADD location “205 St Kilda Rd, Melbourne” 1.0
(integer) 4
127.0.0.1:6379> FT.SUGLEN location
(integer) 4
127.0.0.1:6379> FT.SUGGET location “St Kilda”
(empty list or set)
127.0.0.1:6379> FT.SUGGET location “St Kilda” fuzzy
(empty list or set)
127.0.0.1:6379> FT.SUGGET location “1 St Kilda” fuzzy
(empty list or set)
127.0.0.1:6379> FT.SUGGET location “10 St Kilda” fuzzy

  1. “101 St Kilda Rd, Melbourne”
  2. “102 St Kilda Rd, Melbourne”

``

I am very new to redis and trying to explore redisearch for some of the usecases in our solution. So trying to understand which should i use it for my use case. In the above use case only option is to use indexs (FT.SEARCH)? or is there anyway i can use the FT.SUG* for this purpose.

Thanks in advance.

Krishna

The FT.SUG* commands are meant to search only for prefixes and give you a suggestion based on a dictionary which was populated in advance. It does not tokenize the data, it just save it as is in a trie.
I think that from what you describe its better for you to use the the redisearch indexing capabilities which will allow you to tokenize the data and perform more advance searches on it.