Remember that sphinx indexes whole words by default, so wont even get part-word matches unless explicitly enable it with infix/prefix indexing - with or without enable_star.
A sphinx query of 19.628
will just look for the whole words 19
and 628
anywhere in the document. Asumming .
isn't in your charset_table of course!
In fact you even enable Any
mode. So it looks for just one of the words.
So to get the same documents matching, would need to use Extended
mode. Surround the query in "
to get phrase matches. And use *
in place of the %
.
$cl->setMatchMode(SPH_MATCH_EXTENDED);
$cl->Query('"%19.628%"',$index);
For the index setting, you dont want .
in phrase_boundary
(because you want to use phrase searching), you need to enable part word matching - with min_infix_len
, because want *
at beginning and end of words (if using enable_star=1
).
You can choose if you want .
in charset_table or not. For this query it shouldn't matter much.
(tangental, but your really high $limit wont actully apply, setLimits has a third $max_matches param, which sets the highest $offset+$limit you can use - defaults to 1000)