여러 열을 검색할 때 \'열 목록과 일치하는 FULLTEXT 인덱스를 찾을 수 없습니다\' 메시지가 나타나는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-26 14:17:02
원래의
759명이 탐색했습니다.

 Why am I getting

여러 열 검색에서 "열 목록과 일치하는 FULLTEXT 인덱스를 찾을 수 없음" 문제 해결

MATCH...AGAINST 쿼리를 생성할 때 전체 텍스트 인덱스에 여러 열이 포함된 경우 인덱스의 열 순서가 MATCH 절에 나타나는 순서와 일치하는지 확인하는 것이 중요합니다. 발생한 오류 메시지에 따르면 전체 텍스트 인덱스 정의에 MATCH 절보다 더 많은 열이 포함되어 있는 것 같습니다.

언급하신 대로 테이블에는 여러 열에 정의된 전체 텍스트 인덱스가 포함되어 있습니다.

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)
로그인 후 복사

그러나 MATCH 절에는 다음 열만 포함됩니다.

MATCH(`brand`) AGAINST('Skoda');
로그인 후 복사

인덱스의 열 수와 MATCH 절 사이의 불일치로 인해 오류가 발생합니다. 이 문제를 해결하려면 인덱스 정의나 MATCH 절을 조정하여 정렬되도록 해야 합니다.

권장되는 접근 방식은 검색에 사용하려는 열과 일치하도록 전체 텍스트 인덱스를 수정하는 것입니다. 이 경우 다음 쿼리를 실행하여 브랜드 열만 포함하는 새 전체 텍스트 인덱스를 추가할 수 있습니다.

ALTER TABLE products ADD FULLTEXT(brand);
로그인 후 복사

적절한 인덱스를 추가한 후 MATCH 쿼리를 다시 실행하세요.

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');
로그인 후 복사

이제 오류 메시지 없이 예상한 결과가 반환됩니다.

위 내용은 여러 열을 검색할 때 \'열 목록과 일치하는 FULLTEXT 인덱스를 찾을 수 없습니다\' 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!