Я использую новую функцию из neo4j 3.5.4: полнотекстовые поисковые индексы. И мне нужно получить узел с полем «имя», где значение содержит специальные символы, такие как *? - и т. Д.
Я уже использовал функцию re.escape по умолчанию для экранирования строки термина.
Результат запроса выглядит так:
CALL db.index.fulltext.queryNodes(
"property_search_index",
"name:\?\?\?\.\.\.\/\/\/\*\*\*~"
) YIELD node AS property, score
где входной термин перед экранированием выглядит так: ???...///***
Запрос возвращает следующее сообщение об ошибке:
neo4j.exceptions.CypherSyntaxError:
Invalid input '?': expected '\', ''', '"', 'b', 'f', 'n', 'r', 't',
UTF16 or UTF32 (line 1, column 68 (offset: 67))
Итак, вопрос в том, как правильно избежать этой строки? или это ошибка neo4j?