Выберите индекс для поиска с использованием PHP - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть два индекса для sphinx на моем веб-сервере для веб-сайта онлайн-фильмов.1-й - для кинофильмов, 2-й - для актеров.Прежде чем добавить второй индекс, я использовал этот код

    public function sphinx_search($str) {
     require_once('../tools/.sphinxapi.php');
     $sphinx = new SphinxClient();
     $sphinx->SetServer("127.0.0.1", 9312);
     $sphinx->SetMatchMode(SPH_MATCH_ANY);
     $sphinx->SetSortMode(SPH_SORT_RELEVANCE);
     $sphinx->SetFieldWeights(['vis_title' => 100, 'title_en' => 5]);
     $result = $sphinx->query($str, '*');

     $ids = [];
     if ($result && isset($result['matches'])) {
       foreach ($result['matches'] as $k=>$v) {
        $ids[] = $k;
       }
     }

     return $ids;
    }

Затем я использовал эти идентификаторы для поиска в таблице MySQL movie

Можно ли выбрать конкретный индекс для поиска?Я имею в виду выбор индекса фильмов или актеров в коде $ sphinx-> query ($ str, '*')

ps: извините за мой английский

1 Ответ

0 голосов
/ 26 ноября 2018

«*» во втором параметре - это только то, какой индекс (ы) искать.

$sphinx->query($str, 'actors');

или

$sphinx->query($str, 'movies');

или

$sphinx->query($str, 'movies, actors');

или

public function sphinx_search($str, $indexes = '*') {
...
    $sphinx->query($str, $indexes);
...
...