2014-03-30 3 views
1

취미 프로젝트가 형식을 잡기 시작했는데 알아 내려고하는 한 가지가 있습니다. 다중 검색 상자입니다.CakePHP에서 "다중 검색"상자에 접근하는 방법은 무엇입니까?

Facebook의 검색 기능을 생각해보십시오 : 입력을 시작하면 검색 상자는 친구, 회사 페이지, 게임, 그룹 등을 검색하여 가장 좋은 추측을 제시합니다. 내 사이트의 맥락에서 검색을 동시에 수행하려는 여러 테이블이 있지만 각 테이블에 대한 최상의 제안을 제공합니다.

어떻게 이러한 기능에 접근하겠습니까?

+0

이것은 cakephp와 관련이 없습니다. 검색 색인 (탄성 색인과 같은 전용 도구 또는 매우 간단하지만 훨씬 효율적이지 않은 솔루션, 표 및 table_id 필드가 포함 된 단일 표)을 조회합니다. – AD7six

답변

0

'OR'로 검색

+2

수십 개의 테이블과 수십만 개의 항목이있는 경우 그렇게 비효율적이지 않습니까? – manabreak

+0

글쎄, Facebook에는 수십 개의 테이블과 수십만 개의 항목이 있습니다 ... 그 모든 것은 데이터베이스를 어떻게 디자인 했느냐에 달려 있습니다. –

+2

그리고 내가 말할 수있는, 페이스 북은 데이터베이스의 모든 항목을 쿼리하지 않습니다. 이제 당신은 그에게 정말로 나쁜 습관 인 대답을주고 있습니다. 쿼리를 수행하는 경우 소수의 사용자와 함께 많은 비효율적 인 데이터베이스 쿼리가 발생합니다 ... 더 나은 방법은 일부 핵심 항목을 캐시하는 것이므로 24/7 DB를 쿼리하지 않아도됩니다. 또는 항목에 연결된 일부 키워드가있는 단일 "검색"테이블을 만드십시오. –