>  기사  >  데이터 베이스  >  MySQL에서 전체 텍스트 검색 작업을 수행하는 방법은 무엇입니까?

MySQL에서 전체 텍스트 검색 작업을 수행하는 방법은 무엇입니까?

WBOY
WBOY원래의
2023-07-29 22:18:294737검색

MySQL에서 전체 텍스트 검색 작업을 수행하는 방법은 무엇입니까?

전체 텍스트 검색은 텍스트 필드에서 키워드를 찾는 기능입니다. MySQL에서는 전체 텍스트 검색을 사용하여 쿼리 효율성을 높이고 관련 결과를 빠르게 찾을 수 있습니다. 이 기사에서는 MySQL에서 전체 텍스트 검색 작업을 수행하는 방법을 소개하고 코드 예제를 제공합니다.

1. 전체 텍스트 색인 만들기
전체 텍스트 검색을 수행하기 전에 먼저 검색해야 하는 필드에 대한 전체 텍스트 색인을 만들어야 합니다. MySQL에서는 FULLTEXT 인덱스를 사용하여 전체 텍스트 검색 기능을 구현할 수 있습니다.

예를 들어, 기사라는 테이블에서 콘텐츠 필드에 대한 전체 텍스트 검색을 수행하려면 다음 SQL 문을 실행하여 FULLTEXT 인덱스를 생성할 수 있습니다.

ALTER TABLE 기사 ADD FULLTEXT(content);

2. 전체 텍스트 검색 검색 쿼리 수행

전체 텍스트 인덱스를 생성한 후 MATCH AGAINST 문을 사용하여 전체 텍스트 검색 쿼리를 수행할 수 있습니다.

구문 예:

SELECT * FROM Articles WHERE MATCH(content) AGAINST('keyword');

그 중 content는 검색해야 할 필드이고, 'keyword'는 검색해야 하는 키워드입니다. 실제 상황에 따라 수정될 수 있습니다.

코드 예:

SELECT * FROM 기사 WHERE MATCH(content) AGAINST('MySQL 전체 텍스트 검색');

이 쿼리 문은 "MySQL 전체 텍스트 검색" 키워드가 포함된 기사 레코드를 반환합니다.

3. 전체 텍스트 검색 옵션 설정

MySQL의 MATCH AGAINST 문은 전체 텍스트 검색 동작을 추가로 제어하는 ​​몇 가지 옵션을 지원합니다.

    IN BOOLEAN MODE
  1. 검색 시 부울 연산을 수행하려면 IN BOOLEAN MODE를 사용하세요.
코드 예:

SELECT * FROM 기사 WHERE MATCH(content) AGAINST('+MySQL -Full text' IN BOOLEAN MODE);

이 쿼리 문은 키워드 "MySQL"을 포함하지만 그렇지 않은 전체 텍스트를 반환합니다. 기사 기록에 " "라는 키워드가 포함되어 있습니다.

    WITH QUERY EXPANSION
  1. WITH QUERY EXPANSION을 사용하면 검색 범위를 확장하고 키워드와 관련된 더 많은 기사 레코드를 반환할 수 있습니다.
코드 예:

SELECT * FROM 기사 WHERE MATCH(content) AGAINST('MySQL 전체 텍스트 검색' WITH QUERY EXPANSION);

이 쿼리 문은 "MySQL 전체 텍스트 검색" 키워드와 관련된 더 많은 기사 레코드를 반환합니다. " .

4. 검색 결과 수 제한

LIMIT 문을 사용하여 검색 결과 수를 제한하여 쿼리 효율성을 높일 수 있습니다.

코드 예:

SELECT * FROM 기사 WHERE MATCH(content) AGAINST('MySQL 전체 텍스트 검색') LIMIT 10;

이 쿼리 문은 "MySQL 전체 텍스트 검색"이라는 키워드를 충족하는 처음 10개의 기사 레코드를 반환합니다. ".

5. 검색 순위 사용

MySQL의 MATCH AGAINST 문은 텍스트에서 발생 빈도에 따라 키워드를 정렬하고 검색 순위를 반환할 수 있습니다.

코드 예:

SELECT *, MATCH(content) AGAINST('MySQL 전체 텍스트 검색') AS 순위 FROM 기사 WHERE MATCH(content) AGAINST('MySQL 전체 텍스트 검색') ORDER BY 순위 DESC;

This query문 will "MySQL 전체 텍스트 검색" 키워드의 검색 순위에 따라 내림차순으로 정렬된 기사 레코드를 반환합니다.

요약하자면, MySQL의 전체 텍스트 검색 기능은 FULLTEXT 인덱스를 생성하고 MATCH AGAINST 문을 사용하여 구현할 수 있습니다. 전체 텍스트 검색 작업을 수행할 때 옵션을 설정하고, 검색 결과 수를 제한하고, 검색 순위를 사용하여 쿼리의 정확성과 효율성을 향상시킬 수 있습니다.

위 내용은 MySQL에서 전체 텍스트 검색 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.