Open kurtisane opened 11 months ago
Hi! Thanks for reporting this issue, we'll fix it soon
The syntax is indeed a bit weird, but it is what it is... 🙂 The libraries don't work with qutoes
Hey @dranikpg, in case this was fixed since you updated this issue, feel free to close it
Describe the bug I'm running the example project of Redis OM for .Net.
https://github.com/redis/redis-om-dotnet/tree/main/examples/Redis.OM.CreateIndexStore
Using the Redis Stack everything works fine and the Program can run without any issues.
docker run -p 6379:6379 -p 8001:8001 redis/redis-stack
When running Dragonfly I'm facing a issue during :
var newton = await customers.Where(x => x.FullName == "Albert Einstein").FirstOrDefaultAsync();
I have debugged it a little and got down to the command that is send to the Redis/Dragonfly Server:
"FT.SEARCH" "customer-idx" "(@FullName:{Albert\\ Einstein})" "LIMIT" "0" "1" // What I see in the RedisInsight Profiler
orFT.SEARCH customer-idx (@FullName:{Albert\ Einstein}) LIMIT 0 1 // What I see in Code
This results in a Query Syntax error on Dragonfly. According to the docs of Redis this is not how a exact match for a query should look like: https://redis.io/docs/interact/search-and-query/query/exact-match/
But at the same time the Redis Server is capable of handling it. It seems to be the escaping of spaces in those search parameters are handled differently and the braces around the whole query. Cuz this works in Dragonfly but not on Redis :
FT.SEARCH customer-idx "@FullName:{\"Albert Einstein\"}" LIMIT 0 1
Error on Redis when running this command :
"Syntax error at offset 11 near FullName"
Issue on Redis OM for that: https://github.com/redis/redis-om-dotnet/issues/425
To Reproduce Steps to reproduce the behavior:
Expected behavior Work the same way as Redis Server
Environment (please complete the following information):