MySQL
전체 텍스트 검색
수색…
소개
MySQL은 FULLTEXT 검색 기능을 제공합니다. 단어 및 구와 가장 일치하는 텍스트가 포함 된 열이있는 표를 검색합니다.
비고
FULLTEXT
검색은 작은 수의 행이 포함 된 테이블에서 이상하게 작동합니다. 따라서 실험을 할 때 중간 크기의 테이블을 온라인으로 구하는 것이 도움이 될 수 있습니다. 여기에 제목과 저자 가있는 서적 항목 표가 있습니다. 그것을 다운로드하여 압축을 풀고 MySQL에로드 할 수 있습니다.
FULLTEXT
검색은 사람의 도움이 필요합니다. 그것은 일반적인 WHERE column LIKE 'text%'
필터링 작업보다 더 많은 일치를 산출하도록 설계되었습니다.
FULLTEXT
검색은 MyISAM
테이블에서 사용할 수 있습니다. 또한 MySQL 버전 5.6.4 이상의 InnoDB
테이블에서도 사용할 수 있습니다.
간단한 FULLTEXT 검색
SET @searchTerm= 'Database Programming';
SELECT MATCH (Title) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE) Score,
ISBN, Author, Title
FROM book
WHERE MATCH (Title) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE)
ORDER BY MATCH (Title) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE) DESC;
ISBN
, 'Title'및 'Author'열이있는 book
이라는 테이블이 있으면 'Database Programming'
이라는 용어와 일치하는 책을 찾습니다. 가장 먼저 일치하는 것을 보여줍니다.
이 작업을 수행하려면 Title
열에 대한 전체 텍스트 색인을 사용할 수 있어야합니다.
ALTER TABLE book ADD FULLTEXT INDEX Fulltext_title_index (Title);
단순 BOOLEAN 검색
SET @searchTerm= 'Database Programming -Java';
SELECT MATCH (Title) AGAINST (@searchTerm IN BOOLEAN MODE) Score,
ISBN, Author, Title
FROM book
WHERE MATCH (Title) AGAINST (@searchTerm IN BOOLEAN MODE)
ORDER BY MATCH (Title) AGAINST (@searchTerm IN BOOLEAN MODE) DESC;
ISBN
, Title
및 Author
라는 열이있는 book
이라는 테이블이 주어지면 Title
에 'Database'
및 'Programming'
'Database'
단어가 포함 된 책을 검색하지만 'Java'
라는 단어는 검색하지 않습니다.
이 작업을 수행하려면 제목 열에 대한 전체 텍스트 색인을 사용할 수 있어야합니다.
ALTER TABLE book ADD FULLTEXT INDEX Fulltext_title_index (Title);
다중 열 FULLTEXT 검색
SET @searchTerm= 'Date Database Programming';
SELECT MATCH (Title, Author) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE) Score,
ISBN, Author, Title
FROM book
WHERE MATCH (Title, Author) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE)
ORDER BY MATCH (Title, Author) AGAINST (@searchTerm IN NATURAL LANGUAGE MODE) DESC;
ISBN
, Title
및 Author
라는 열이있는 book이라는 테이블이 주어지면 'Date Database Programming'이라는 용어와 일치하는 책을 찾습니다. 가장 먼저 일치하는 것을 보여줍니다. 가장 잘 맞는 것은 CJ Date 교수가 쓴 책입니다.
(그러나 가장 잘 맞는 것은 데이트 의사의 데이트 가이드 : 첫 데이트에서 완벽한 배우자와의 만남 방법 입니다. 이것은 FULLTEXT 검색의 한계를 보여줍니다. 색인 된 단어의 의미.)
이 작업을 수행하려면 제목 및 작성자 열에 대한 전체 텍스트 색인을 사용할 수 있어야합니다.
ALTER TABLE book ADD FULLTEXT INDEX Fulltext_title_author_index (Title, Author);