Сфинкс SPH_MATCH_ALL, SPH_MATCH_PHRASE, SPH_MATCH_BOOLEAN, SPH_MATCH_ALL и SPH_MATCH_EXTENDED2? - PullRequest
2 голосов
/ 22 апреля 2011

Я новичок в Sphinx Search. Как использовать этот режим соответствия в PHP?

Пример:

   SPH_MATCH_ALL,SPH_MATCH_PHRASE,SPH_MATCH_BOOLEAN,SPH_MATCH_ALL and SPH_MATCH_EXTENDED2?

   <?php
 include('sphinxapi.php');
        $cl = new SphinxClient();
        $cl->SetServer('localhost',9312);
            $cl->SetMatchMode(SPH_MATCH_ANY);
        //$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
        //$cl->SetMatchMode(SPH_MATCH_ALL);
        //$cl->SetMatchMode(SPH_MATCH_PHRASE);
        $cl->SetArrayResult(true);
        $cl->SetLimits(0, 100); 
        $result = $cl->Query("&name Bormis","abc_index");

        echo "<pre>";
        print_r($result);
        exit;
     ?>

В этом коде здесь работает только SPH_MATCH_ANY.

Но мне нужно с поиском существующего слова match.and

Как использовать все режимы Matchind в этом примере?

1 Ответ

1 голос
/ 22 апреля 2011

сначала выберите режим соответствия , все они работают по-разному. В зависимости от вашего приложения, вы сделаете свой выбор.

Sphinx использует некоторые операторы запросов, такие как & (и), | (или) и т. Д., Поэтому, если вы отправляете запрос типа "&name Bormis", sphinx может его не понять.

Попробуйте использовать только «Bormis» в качестве запроса, чтобы увидеть разницу между режимами сопоставления. Если вы предпочитаете это, вы можете также выполнить поиск в командной строке , чтобы проверить правильность вашей конфигурации.

Удачи!

...