Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 斯芬克斯属性问题_Mysql_Sphinx - Fatal编程技术网

Mysql 斯芬克斯属性问题

Mysql 斯芬克斯属性问题,mysql,sphinx,Mysql,Sphinx,假设我有一个广告表,我正试图过滤它。每个广告可以有许多类型,这些类型存储在类型表中,与中间的AuthTyType表相关联。相当标准: adverts ------- id name types ----- id name advert_types ------------ id advert_id type_id 我只是尝试搜索用户选择的一个或多个类型ID中的所有广告: SELECT a.id, a.name, at.type_id FROM adverts as a LE

假设我有一个广告表,我正试图过滤它。每个广告可以有许多类型,这些类型存储在类型表中,与中间的AuthTyType表相关联。相当标准:

adverts
-------
id
name

types
-----
id
name

advert_types
------------
id
advert_id
type_id
我只是尝试搜索用户选择的一个或多个类型ID中的所有广告:

SELECT a.id, a.name, at.type_id
    FROM adverts as a
    LEFT JOIN advert_types as at 
    ON a.id = at.advert_id
    WHERE at.type_id IN(1,2);
这里我应该注意到,广告不需要有与之关联的类型,因此是左连接

假设类型ID1命名为books,类型ID2命名为Magazine。在上面的查询中,我希望收到所有针对书籍、杂志或书籍和杂志的广告

这在MySQL中工作得很好,但在我的Sphinx索引中效果不太好,这是我的问题。如果我对杂志进行过滤,我只会收到退回杂志的广告;书和杂志都没有。然而,如果我搜索书籍,我成功地得到了我想要的一切。我看不出我错在哪里。我的索引中是否需要其他类型的联接?或者在狮身人面像中使用不同的排序模式


我已经在另一个过滤器中成功地完成了同样的操作,但是在1:1的关系中,因此我认为我的查询和Sphinx处理多个记录的方式存在问题。

请包括Sphinx.conf中的“源”部分,目前您还没有指定如何实际索引表,请不要忘记从包含的内容中删除数据库访问详细信息!