2010-01-11 2 views
0

'YouTube 관련 동영상'스타일 관련 콘텐츠 시스템을 구현하고자합니다.php - 관련 콘텐츠에 대한 링크 표시

각 페이지, 제목 및 설명에 대해 5 개의 태그/키워드가 있습니다. 가장 비슷한 두 페이지에 대한 링크를 표시하고 싶습니다.

관련성을 기준으로 주문을 기반으로 한 mysql 쿼리를 추측하고 있습니다.

많은 감사.

답변

1

먼저 키워드는 더 빨리 액세스 할 수 있도록 색인을 생성해야합니다. 당신은 LIKE 쿼리를 할 수있는, http://en.wikipedia.org/wiki/Full_text_search 을 또는 :

그런 다음 전체 텍스트 검색을 할 수 http://www.w3schools.com/SQL/sql_like.asp

그런 다음, 그 결과로, 당신은 관련 항목의 목록을 확인하십시오.

+0

그래서 별도의 열에 키워드를 저장해야? – Mark

+0

별도의 열에 저장하면 데이터베이스가 느려지고 LIKE 쿼리를 사용할 수 있습니다. 하나의 열만 사용하는 경우 전체 텍스트 검색을 사용할 수 있습니다. 또 다른 솔루션은 각 키워드에 대해 개별 행을 사용하는 것이고 더 빠른 방법이며 구현하기가 더 쉽지만 느려질 수 있습니다 (이것이 내가하는 일입니다). – ambiguousmouse

2

토큰으로 제목, 설명, 키워드를 분리 한 다음 관련성에 따라 해당 키워드와 순서에 대해 mysql에서 전체 텍스트 검색을 수행 할 수 있습니다.

select * from article where match(title, description, keywords) 
    against ('word1 word2 word3 word4' in boolean mode) 
    order by relevance desc 

http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html