我有3个表,并在sphinx的JOIN
条件的帮助下对它们执行AND
操作。当我在mysql
中触发相同的查询时,它给出了25个结果(12个为鹿,10个为狗,3个为Crow)。鹿,狗和乌鸦是同一列“animal_name
”的一部分。实际上,在这3个表中,数据量很大,应该返回超过1200个结果,但只能得到25个结果。
现在,我想要做的是,我只想获得任何上述类型的动物名称的结果,因此,想要在php代码中使用where "Where animal_name = 'Deer'"
之类的子句传递附加条件。当我尝试这个但它只给出了12个结果,它与mysql查询相同而没有在where子句中传递动物名称。
示例查询
Select UUID_SHORT() AS sphinxid, t1.animal_name, t1.column_name1, t3.column_name2 from table1 t1, table2 t2, table3 t3
where
t1.id = t2.id AND
t2.id = t3.id; //want to add condition AND t1.animal_name = 'Deer' via php
请帮助我,我认为我的查询对于sphinx索引是正确的,只有问题不是通过php代码附加AND
条件而且存在问题。
答案 0 :(得分:0)
直接回答你的问题"我们可以通过php将where子句中的条件添加到sphinx中吗?"对于"最简单的等价物:where animal_name =' Deer'"可能是
$cl->Query('Deer', 'index_name');
但是来自
在这3个表中,数据量很大,应该返回1200以上 结果但只给出了25个结果
我想你可能想在你的mysql查询中做UNION,而不是AND。这可能是为什么"它应该返回超过1200个结果但只给出25个结果"