수색…


소개

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 , TitleAuthor 라는 열이있는 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 , TitleAuthor 라는 열이있는 book이라는 테이블이 주어지면 'Date Database Programming'이라는 용어와 일치하는 책을 찾습니다. 가장 먼저 일치하는 것을 보여줍니다. 가장 잘 맞는 것은 CJ Date 교수가 쓴 책입니다.

(그러나 가장 잘 맞는 것은 데이트 의사의 데이트 가이드 : 첫 데이트에서 완벽한 배우자와의 만남 방법 입니다. 이것은 FULLTEXT 검색의 한계를 보여줍니다. 색인 된 단어의 의미.)

이 작업을 수행하려면 제목 및 작성자 열에 대한 전체 텍스트 색인을 사용할 수 있어야합니다.

ALTER TABLE book ADD FULLTEXT INDEX Fulltext_title_author_index (Title, Author);


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow