扩展多个源/索引

时间:2011-03-23 10:23:10

标签: sphinx

我有很多网页是彼此的克隆。他们拥有完全相同的数据库 结构,只是不同数据库中的不同数据(每个克隆是针对不同的国家,所以一切都是 隔开)。

我想清理我的sphinx配置文件,以便我不会复制相同的查询 对于每个网站。 我想为每个克隆定义一个主要来源(使用db auth info),这是一个常见的来源 我想要搜索的每个表,然后是每个表和每个克隆的源和索引。 但我不确定我应该怎么做才能做到这一点。 我正在考虑这些问题:

index common_index
{
    # charset_type, stopwords, etc
}

source common_clone1
{
    # sql_host, sql_user, ...
}

source common_clone2
{
    # sql_host, sql_user, ...
}
# ...
source table1
{
    # sql_query, sql_attr_*, ...
}

source clone1_table1 : ???
{
    # ???
}
# ...
index clone1_table1 : common_index
{
    source: clone1_table1
    #path, ...
}
# ...

所以你可以看到我困惑的地方:) 我虽然可以这样做:

source clone1_table1 : table1, common_clone1 {}

但它显然不起作用。

基本上我要问的是;有没有办法扩展两个源/索引?

如果这不可行,我将被“强制”编写一个脚本,该脚本将生成我的sphinx配置文件以便于维护。

1 个答案:

答案 0 :(得分:0)

显然这是不可能的(不知道它是否在未来的管道中)。我将不得不求助于使用某种脚本生成配置文件。

我创建了这样一个脚本,您可以在GitHub上找到它:sphinx generate config php