2009-10-10 5 views
2

먼저 데이터베이스를 크롤링하지 않고 MySQL 테이블 (또는 여러 테이블)에서 Wikipedia와 비슷한 검색을 수행하려면 어떻게합니까? (위키 백과에서 검색하면 관련성을 백분율로 표시하는 데 사용됩니다).MySQL 테이블에서 웹 사이트를 검색하는 방법

여기서 내가 찾고있는 것은 결과의 관련성을 결정하고 그에 따라 정렬하는 방법입니다. 특히 한 번에 여러 테이블에서 데이터를 가져 오는 경우 특히 그렇습니다.

웹 사이트의 검색 기능에는 무엇을 사용합니까?

답변

2

MySQL의 full-text search functionality을 사용할 수 있습니다. 검색 할 필드에 FULLTEXT 색인이 있어야합니다. natural language searches의 경우 "검색 문자열과 해당 행의 텍스트 사이의 유사성 척도"인 관련성 값을 반환합니다.

여러 테이블을 검색하는 경우 관련성 값은 여러 결과 세트에서 비교할 수 있어야합니다. 각 테이블에서 UNION 개의 개별 텍스트 쿼리를 수행 한 다음 관련 값을 기반으로 합집합의 결과를 정렬 할 수 있습니다.

관련 문제