狮身人面像问题。过滤

时间:2011-06-17 14:52:34

标签: php sphinx

我对Sphinx有疑问。我有这样的配置:

sql_query               = \
        SELECT id, product_title, product_inf, product_code, ptype_name, title, cat, value, car \
        FROM Catalog_View;
sql_attr_uint           = car
sql_attr_uint           = cat

Catalog_View是一个从多个表中收集数据的视图。它运作良好,没有任何问题。我用这个配置创建了索引:

index src1
{
    source          = src1
    path            = /var/data/src1
    docinfo         = extern
    mlock           = 0
    morphology      = stem_en, stem_ru
    min_word_len        = 3
    charset_type        = sbcs
    min_prefix_len  = 0
    min_infix_len       = 3
    enable_star     = 1
}

索引器完成了他的工作。但是,当我正在寻找空查询(如此'')并设置两个过滤器

$cl->SetFilter('cat',array(9));
$cl->SetFilter('car',array(2));

我放了很多比赛。例如,当我对Catalog_View使用SQL查询时,我有76行,而Sphinx中的相同只有11行。我无法弄清楚我做错了什么。除了过滤器,一切似乎都很好。 实际上,当我在寻找非空查询时,我对过滤器也有同样的问题。

1 个答案:

答案 0 :(得分:0)

我也偶然发现了这个。我的解决方案是使文档ID唯一。如果您有重复的文档ID,则可能的结果可能相同。我想Sphinx只会采用第一个独特的文件来摧毁所有重复的数据。