2012-08-14 2 views
2

저는 기본적으로 웹 사이트 (예 : 비즈니스 디렉토리, 날씨, 뉴스 ...)의 "Discover Your City"종류 인 웹 사이트를 구축하고 있습니다. 내 웹 사이트의 주요 기능은 비즈니스 디렉토리 일뿐입니다. 저는 이미 몇 개의 mysql 테이블에서 채워지는 비즈니스 목록 검색을 작성했습니다 (10,000 개 목록 만 의미하는 내 도시에는 약 10,000 개의 비즈니스가 있으므로 속도와 관련하여 문제가 없으며 Fulltext 또는 Sphinx로 이동할 필요가 있음).).특별한 검색/도구로 건물 찾기

"음식점"또는 "Joe 's Crab Shack"을 입력하는 대신 "뉴스"또는 "날씨"를 입력하고 도시의 현재 날씨를 표시하는 대신 특수 검색을 작성하여 사용자를 의미합니다. 또는 지역 뉴스. 뉴스와 날씨 모두 외부 웹 사이트에서 가져온 것입니다. Google의 좋은 예가 this here.

어떻게 만들 수 있습니까? Switch Statements는 내가 생각하기에 좋지만 이것이 훌륭한 해결책으로 끝날지 확신하지 못하는 한 가지 방법입니다.

감사합니다.

답변

1

이러한 특수 단어를 저장하는 '키워드'테이블을 만듭니다. 먼저 해당 테이블을 검색하고 결과가 0 일 경우 실제 검색을 실행합니다. LIKE를 사용하는 대신 항상 인덱스 (WHERE term='$search')에서 정확한 검색을 수행하는 한 질의는 거의 즉각적이어야하므로 두 가지 쿼리를 수행하는 성능에 별다른 차이가 없습니다.