title: Escape Lucene special chars in full-text query
body: <p>I'm using a new feature from neo4j 3.5.4: full-text search indexes. And I need to get the node with a "name" field where value contains special chars like *?- and so on.</p>
  
  <p>I already used default re.escape function to escape term string.</p>
  
  <p>The result query looks like:</p>
  
  <pre><code>CALL db.index.fulltext.queryNodes(
  "property_search_index", 
  "name:\?\?\?\.\.\.\/\/\/\*\*\*~"
  ) YIELD node AS property, score
  </code></pre>
  
  <p>where input term before escaping looks like this: <code>???...///***</code></p>
  
  <p>The query returns next error message:</p>
  
  <pre><code>neo4j.exceptions.CypherSyntaxError: 
  Invalid input '?': expected '\', ''', '"', 'b', 'f', 'n', 'r', 't', 
  UTF16 or UTF32 (line 1, column 68 (offset: 67))
  </code></pre>
  
  <p>So, the question is how to escape this string properly? or is it a neo4j bug?</p>