我们可以通过php将where子句中的条件添加到sphinx中吗?

时间:2017-12-04 11:29:11

标签: php mysql sphinx

我有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条件而且存在问题。

1 个答案:

答案 0 :(得分:0)

直接回答你的问题"我们可以通过php将where子句中的条件添加到sphinx中吗?"对于"最简单的等价物:where animal_name =' Deer'"可能是

$cl->Query('Deer', 'index_name');

但是来自

  

在这3个表中,数据量很大,应该返回1200以上   结果但只给出了25个结果

我想你可能想在你的mysql查询中做UNION,而不是AND。这可能是为什么"它应该返回超过1200个结果但只给出25个结果"