2017-12-04 14 views
0

나는 스핑크스에서 AND 상태의 도움으로 3 개의 테이블을 가지고 있으며 이것들에 대해 JOIN 연산을 수행한다. mysql에서 동일한 검색어를 실행하면 25 개의 검색 결과 (사슴은 12, 개는 10, 까마귀는 3)가 표시됩니다. 사슴, 개와 까마귀는 동일한 열 'animal_name'의 일부입니다. 사실,이 3 개의 테이블에서 데이터가 크고 1200 개 이상의 결과를 반환하지만 결과는 25 개에 불과합니다.where 절에서 조건을 php를 통해 스핑크스에 추가 할 수 있습니까?

자, 내가 원하는 것은, 위의 유형의 동물 이름에 대한 결과를 얻고 싶기 때문에 PHP 코드에서 "Where animal_name = 'Deer'"과 같은 where 절을 사용하여 추가 조건을 전달하려고합니다. 이걸 시도 할 때 where 절에서 동물 이름을 전달하지 않고 mysql 쿼리와 동일한 12 개의 결과 만 제공합니다.

샘플 쿼리는

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 

내 쿼리 스핑크스 색인에 대한 유일한 문제는 PHP 코드를 통해 AND 조건을 추가되지 않고 문제가 올바른지 생각 도와주세요.

+0

당신이 생각하는 검색어가 옳은 것처럼 보여야 할 것 같습니다. 스핑크스가 할 수있는 것을 알지 못했습니다. 어울리다. 일반적으로 NOSQL 시스템에서는 데이터를 비정형 화합니다. (평평하게 함) – ArtisticPhoenix

+0

참고 쿼리 편집 된 질문. 심지어 스핑크스, mysql 및 PHP에 – VVB

+0

MySql에서 일한 '사례'를 사용해보십시오! 스핑크스를 시도하지 않았습니다. –

답변

0

직접 질문에 답하기 "php를 통해 where 절에서 조건을 sphinx에 추가 할 수 있습니까?" 가장 간단한 상당 "어디 animal_name = '사슴'"아마

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

하지만 그 3 개 테이블

데이터는 거대하고 1200 개 이상의 결과 만 제공 25 결과를 반환해야합니다입니다

아마도 당신의 mysql 쿼리에서 UNION을하고 싶을 것입니다. 이 글은 "결과가 1200 개가 넘지만 결과는 25 개 이상이어야합니다"