我在在线电影网站的网络服务器上有两个狮身人面像索引。 第一个用于电影数据,第二个用于演员数据。 在添加第二个索引之前,我使用了该代码
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 .:对不起我的英语
答案 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);
...