Well I tried a # of solutions that did not work:
I added regexp_ in the config to map ?=>qmark
and *=>asterisk
. I had no luck with this regardless of how I searched i.e. Includes sidesqmark
and Includes sides qmark
(latter assuming ? treated as separate work
I commented the regexp back out and tried searching on Includes Sides No
on the logic that ?
and *
are not being indexed so those spaces don't exist.
I added spaced between Includes sides
and No
assuming that one or more of the chars was not indexing but somehow taking up a char space e.g. Includes sides No
.
I added double escapes as was suggested to me `"Includes sides\?\*\* \*No" which failed too.
None of these worked.
I tried doing NEAR/ and >> together and that worked:
("Includes sides" NEAR/2 "No") ("Includes sides" >> "No")
which seemed clunky.
Finally I did this which worked
"Includes sides \\*"No"
Which works but is a total mystery to me why though I am posting it since it solves the problem. I'm hoping someone else can explain the mechanisms behind this:
- Clearly the
\\
is the right way to escape in sphinxql
- Clearly escaping the asterisk is working
- Clearly escaping the
?
is not
- Yet if the asterisk needs to be escaped then how come:
"Includes sides\\?\\*\\* \\*No
does not work AND
"Includes sides\\*\\* \\*No
does not work? If it is not indexing/recognizing the ?
but clearly is the *
then I'd need to escape the two after Includes
. Yet it is as if neither the ?
nor the *
after Includes
exist BUT the asterisk
before No
does.
Sorry to include a question an answer yet my solution worked. If there is a better way for me to both provide the solution I used and the question that it revealed please let me know as I'm trying not to confuse the issue here.