0

We're using Google Cloud-Search and searching a particular datasource for "O'Conn*" doesn't returned any results.

...
"valueFilter": { 
    "operatorName": "lastname",
    "value": {
    "stringValue": "O'CONN*"
    }
...

The field is set as wildcardsearchable:true and all the records were re-indexed after. The datasource contains over 40 records that should match. The wildcard search does work but not for any wildcard search terms that contains a single quote ('). Here's a few test I've done

  • "O'CONN*" - No match

  • "*CONN*" - Plenty of matches including "O'Connor"

  • "O'CONNOR" - Matches all "O'Connor" (not a wildcard search)

Would you know a way to perform the search? Do we need to escape the single quote in anyway?

I thought about replacing the single quote by another character, removing it or adding an alternative form of the term before indexing, but then we'd be opening a can of worm. Needing to process search terms before sending, detect and update before the field is displayed on our search result page, etc...

I found a post that likely explains why I'm experiencing this behaviour, but it's for Lucene search. I couldn't find a setting similar to the one described in that post in Google Cloud Search settings or documentation.

Thanks

I tried:

  • Escaping the single quote in different ways;
  • Putting the wild card character at different position to test different theories

I've search Google's documentation for "Cloud Search wildcard single quote", but no satisfactory results.

Francis
  • 341
  • 2
  • 6

0 Answers0