选择索引以使用php搜索

时间:2018-11-24 20:01:03

标签: php sphinx

我在在线电影网站的网络服务器上有两个狮身人面像索引。 第一个用于电影数据,第二个用于演员数据。 在添加第二个索引之前,我使用了该代码

    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;
    }

然后我使用这些ID在mysql表movie中搜索

是否可以选择要搜索的特定索引? 我的意思是在代码$ sphinx-> query($ str,'*')

中选择电影索引或演员索引

p.s .:对不起我的英语

1 个答案:

答案 0 :(得分:2)

第二个参数中的'*'只是要搜索的索引。

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

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

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

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