Sphinx seems to be searching for documents by word. I do not know how to search for documents for the exact phrase. I tried SPH_MATCH_ALL , SPH_MATCH_PHRASE , but everyone was looking for documents by word. I use it in my PHP application.
How can I query Sphinx to match the exact string?
Here is my code:
$sphinx = new SphinxClient(); $mode = SPH_MATCH_PHRASE; $sphinx->setServer('127.0.0.1', 9312); $sphinx->setLimits(0,1); $sphinx->setMaxQueryTime(5000); $sphinx->setMatchMode($mode); $sphinx->setFieldWeights(array('name' => 100)); $sphinx->setArrayResult(true); $result = $sphinx->query('Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); print_r($result);
Return Result:
Array ( [error] => [warning] => [status] => 0 [fields] => Array ( [0] => name [1] => company [2] => image [3] => price ) [attrs] => Array () [total] => 0 [total_found] => 0 [time] => 0.000 [words] => Array ( [lorem] => Array ( [docs] => 0 [hits] => 0 ) [ipsum] => Array ( [docs] => 0 [hits] => 0 ) [dolor] => Array ( [docs] => 0 [hits] => 0 ) [sit] => Array ( [docs] => 0 [hits] => 0 ) [amet] => Array ( [docs] => 0 [hits] => 0 ) [consectetur] => Array ( [docs] => 0 [hits] => 0 ) [adipiscing] => Array ( [docs] => 0 [hits] => 0 ) [elit] => Array ( [docs] => 0 [hits] => 0 ) ) )
As you can see, Sphinx searches for documents by word ...
php sphinx
Kevin lee
source share