2017-11-30 9 views
0

StateInterest과 같이 내 DB에 2 개의 테이블이 있습니다.sphinx/php의 테이블에 주어진 쿼리를 어떻게 알 수 있습니까?

Google과 같은 일반적인 검색을 구현해야하는 앱을 구축하고 있습니다.
수단, 사용자는 다음과 같은 조합을 입력 할 수 California

  1. Music [MusicInterest에 속하는 California 가 속하는 State]
  2. Florida
  3. Music
  4. 지금

, 색인 생성을 적용하여 최상의 결과를 얻고 싶습니다. n 두 테이블 StateInterest.
그러나 그 전에는 최상의 결과를 얻기 위해 어디에서 적용해야하는지 식별하기 위해 쿼리 단어를 분류해야합니다.

State 테이블 테이블이 Music 같은 이익을 포함, Albama, Florida처럼 미국에서 California

Interest을 상태를 포함, Concerts

나는 PHP 새로운 오전 및 sphinx. 제안이 필요하며 코딩 해답이 필요하지 않습니다.

답변

0

두 테이블이 어떻게 조인합니까? - 즉, 캘리포니아에있는 음악에 대한 결과는 어떻게 알 수 있습니까?

현재로서는 두 개의 별도 표를 언급하고 있습니다.

실제 문서의 다른 '테이블'이있는 것 같습니다. 항목을 찾을 수 싶습니다. 즉 당신은 캘리포니아에있는 음악에 관한 문서를 찾고 싶습니다.

... 그래서이 표는 당신이 색인을 생성합니다. Interest와 State는이 색인의 두 필드에 불과합니다.

그런 다음 검색 할 수

$query = "keywords @state Claifornia @interest Music"; 

그러나 actully 단지 fieldName에없이 검색이 너무

$query = "keywords Claifornia Music"; 

작동 것이지만, 캘리포니아 (설명 같은) 다른 분야에서 발생하는 경우도 일치합니다.

+0

답변이 혼란 스럽습니다. 내가 말했듯이 주와 관심사는 각각 – VVB

+0

에서 다른 소수의 열과도 다른 2 개의 다른 테이블이기 때문에 어떻게 가입합니까? 두 테이블 사이에 약간의 링크가 있어야합니다. 이해와 국가는 별도의 지표에 속하지만 별도의 지표에 속합니다. – barryhunter