I'm using Sphinx 2.0.4 with PHP with the extended match mode enabled. When I try to use the Sphinx query language, I can only get results if I use 10 words or less. For example, if I searched for something like a | b
it will work just fine, but if I search for a | b | c | d | e | f | g | h | i | j | k
it will always return no results, even if there are matches. Anyone know of a setting to increase this limit? I poked around in the config file but the changes I made didn't seem to change anything.
1
votes
Do you use the php API and did you check the sphinx log? I have no trouble searching with 11+ words
– Nin
2 Answers
1
votes
Are you sure that is the issue? I've used queries much longer than that (eg having over 100 or'ed keywords), that work just fine.
In fact just tried...
select * from sample8 where match('one | two | three | four | five | six | seven | eight | nine | ten | eleven | twelve');
<SNIP>
20 rows in set (0.28 sec)
select * from sample8 where match('a | b | c | d | e | f | g | h | i | j | k');
<SNIP>
20 rows in set (1.14 sec)
Suggest posting an actual REAL query tha fails, rather than a fake one.
0
votes
If you use not SPH_MATCH_EXTENDED/SPH_MATCH_EXTENDED2 match mode, only 10 keywords from query used. Extended2 is default mode and supports query language, not only boolean operators like SPH_MATCH_BOOLEAN mode.
Andrew Aksyonoff here said http://sphinxsearch.com/forum/view.html?id=1743 about the limits.
For more info about match modes see http://sphinxsearch.com/docs/current.html#matching-modes