Skip to content

Redis vector store: unEscapeSpecialChars only reverses -, causing JSON.parse failure on metadata read #6598

Description

@mshahrouri

Describe the bug

When retrieving documents from a Redis vector store via Retrieval Playground, similarity search fails with: Expected property name or '}' in JSON at position 1
This happens on any document whose metadata contains RediSearch special characters other than -
after modifying unEscapeSpecialChars in usr/local/lib/node_modules/flowise/node_modules/flowise-components/dist/nodes/vectorstores/Redis/utils.js to become:
const unEscapeSpecialChars = (str) => { return str.replace(/\\([,.<>{}[\]"':;!@#$%^&*()\-+=~])/g, '$1'); };
Playground works as expected

To Reproduce

1- Setup a Redis vector store node
2- upsert a document whose metadata contains colon or double quote
3- in Retrival Playground run similarity search
4- JSON error appears

Expected behavior

Retrieval should succeed regardless of which RediSearch-reserved characters appear in the document metadata.

Screenshots

No response

Flow

No response

Use Method

Docker

Flowise Version

3.1.2

Operating System

Linux

Browser

None

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions