반응형
적절한 결과를 가져 오기 위해 사이트 콘텐츠 테이블을 검색하는 검색 양식이 있습니다.
제목 및 콘텐츠 필드를 검색하고 관련성 순서대로 결과를 가져오고 싶습니다. 타이틀에 최우선 순위를 부여합니다.
테이블 (tblContent)이 있다고 가정 해 보겠습니다.
intID | strTitle | txtContent
1 | Smith John | Lorem Ipsum
2 | Lorem Ipsum | Lorem John Smith Ipsum
3 | John Smith | Lorem Ipsum Lorem Ipsum
4 | Lorem Ipsum | Lorem Ipsum Lorem Ipsum
5 | Lorem Ipsum | Lorem Ipsum Smith John
"John Smith"를 검색하면 결과가 3,2,1,5 순서로 표시됩니다.
이것이 어떻게 가능한지?
해결 방법
나는 이것으로 꽤 자리를 잡았습니다.
SELECT *,
( (1.3 * (MATCH(strTitle) AGAINST ('+john+smith' IN BOOLEAN MODE))) + (0.6 * (MATCH(txtContent) AGAINST ('+john+smith' IN BOOLEAN MODE)))) AS relevance
FROM content
WHERE (MATCH(strTitle,txtContent) AGAINST ('+john+smith' IN BOOLEAN MODE) )
ORDER BY relevance DESC
참조 페이지 https://stackoverflow.com/questions/15026244
반응형
'MySql' 카테고리의 다른 글
MySQL cakephp db에서 데이터 가져 오기 (0) | 2021.01.12 |
---|---|
MySQL PHP mysqli-준비된 명령문에서 연관 배열 반환 (0) | 2021.01.12 |
MySQL MYSQL-조인으로 쿼리 삭제 (0) | 2021.01.12 |
MySQL | 각 범주의 레코드를 하나만 선택하는 방법은 무엇입니까? (0) | 2021.01.12 |
MySQL mysql 명령 줄에서 데이터베이스 복원 (0) | 2021.01.12 |
댓글