【发布时间】:2011-09-18 13:37:06
【问题描述】:
我正在制作一个动态 CMS,因此 CMS 的每个实例都将在一个 MYSQL DB 中拥有其 on 表。到目前为止,一切正常。
环境:
8 个具有不同内容的不同站点。他们只共享数据库名称,但都有不同的表($sitename_posts)
搜索 enigne SPHINX
现在我陷入了困境:例如,当用户在站点 1 上进行搜索时,我想搜索所有表 $sitename_posts 并返回最佳结果。
作为搜索引擎,我使用狮身人面像。我已经尝试过使用两个来源和两个索引,但是当我搜索例如:
$sphinx = new SphinxClient;
$sphinx->setServer($sphinx_host, $sphinx_port);
$sphinx->setMatchMode(SPH_MATCH_ANY);
$sphinx->setMaxQueryTime(10000);
$sphinx->SetSortMode(SPH_SORT_EXTENDED, '@relevance DESC');
$sphinx->SetLimits(0, 100, 300);
$result = $sphinx->query("Hello World", (index1 index2);
我没有得到任何结果。但是如果我只构建一个索引并增加来源,我会得到结果,但我无法确定我从哪个来源获得数据,所以我无法判断内容属于哪个站点。
另一个问题是,当我搜索索引时,sphinx 是否可能返回 ID 以及该 ID 属于哪个索引?因为我需要识别哪个索引属于哪个结果。
感谢您的帮助!
【问题讨论】: