나는 사용자 및 사용자 생성 기사, 화랑 및 영상이있는 웹 사이트에 종사하고있다. 나는 그들 모두를위한 태깅 시스템과 검색을하려고 노력하고있다.어떤 검색/태그 시스템이 더 좋습니까?
처음에는 tbl_articles, tbl_galleries 및 tbl_videos에서 제목, 설명 및 태그 입력란을 생각했습니다. 그런 다음 각각에 대해 다음과 같은 쿼리를 실행하십시오.
select * from tbl_articles where match(title, description, tags)
against ('$search' in boolean mode) ORDER BY match(title, description, tags)
against ('$search' in boolean mode) DESC, views desc LIMIT 0, 3
tbl_galleries 및 tbl_videos에 대해 동일한 쿼리가 실행됩니다. 사용자가 사용자 이름을 비교하기 만하면됩니다. 그런 다음 결과 페이지에서 '더보기'버튼 (페이스 북 스타일)을 사용하여 3 개를 각각 표시하십시오.
기사, 갤러리 또는 비디오를 볼 때 관련 콘텐츠에 대한 링크가 있으므로 LIMIT가 '1,3'로 설정된 경우에만 동일한 검색어를 사용하여 자신을 표시하지 않을 것입니다.
l -이 시스템은 어떻습니까? 나는 그들이
- 이 열 기본 ID와 고유 색인 TAG_NAME이 들어있는 '태그'테이블이있는 this을
찾을 때까지
나는 시스템에 행복했다. - 가 다른 차 ID와 고유 인덱스 '유형'(카테고리)를
- 을 (내가 사용자/비디오/기사/갤러리를 위해 그것을 사용할 수 생각)이있는 대한 '유형'테이블에 ' '태그'와 '유형'의 외부 ID가 인 기사의 URL이 포함 된 '검색'표가 있습니다.
Q2 (? 나는 URL 예를 들어 article.php ID = ... 대신 난 그냥 저장 관련 외국 ID가 내가 생성 할 수 있도록 전체 URL의 생각) -이를 시스템이 훨씬 더 효율적으로 보인다 ... 어떻게 제목이나 설명을 검색하겠습니까?
Q3 - 다른 나쁜 점은 모든 페이지 뷰에 대해 태그에 가입해야한다는 것입니다. 따라서 훨씬 효율적이지 않을 수 있습니다.
Q4 - 내 시스템은 부울도 검색합니다. '좋아요'쿼리가 더 좋을까요?
Q5 - 사용자를 4 개로 제한하지만 한 단어 (stackoverflow 스타일)를 권장합니다 ... 내 시스템에서 '기차역'에 대한 검색이 ' 기차역 '어떻게하면이 문제를 해결할 수 있을까요?
많은 질문 ... 죄송합니다. 너무 오래되었습니다. 고맙습니다.
답장을 보내 주셔서 감사합니다. 한가지 더 질문합니다 ... 제목과 설명을 원래 테이블에 어디에 넣으라고 권장합니까? – Mark
그들은 tag_target_name과 tag_target_url을 사용하여 태그가 지정된 콘텐츠에 대한 링크를 작성하는 것으로 보입니다. 그 자리에 제목과 설명을 넣을 수 있지만, 더 나은 해결책은 모든 정보를 별도의 "articles"테이블에 넣고 article 테이블에있는 행의 id를 tag_targets 테이블에 저장하는 것입니다. 그런 식으로 모든 기사의 모든 태그에 대한 제목과 설명을 반복하지 않습니다. –