MySQL에서 단어 중지를 재설정하는 방법은 무엇입니까?
-
18-09-2019 - |
문제
FullText 검색을 위해 MySQL에서 중지 단어 목록을 재설정하고 싶습니다. MySQL에 액세스 할 수있는 phpmyadmin이있는 내 시스템에 WAMP 서버를 설치했습니다. 그러나 나는 phpmyadmin에서 단어를 재설정하는 방법을 모른다. 누구든지 그렇게하는 방법을 말해 줄 수 있습니까?
나도 http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_ft_stopword_file 이 링크를 읽지 만 이것을 사용하는 것을 모른다 ???
해결책
나는 당신이 사용하고 있다고 가정합니다 Wampserver.
트레이 아이콘을 클릭하고 선택하십시오 MySQL
, 그런 다음 클릭하십시오 my.ini
. 구성 파일은 메모장으로 열립니다. 파일 끝으로 이동 하여이 줄을 추가하십시오 (포트 라인 이후) :
ft_stopword_file=''
중지 단어를 비활성화합니다. Custom Stop-Word 파일을 사용하려면 해당 라인을 다음과 같이 바꾸십시오.
ft_stopword_file='path/to/stopword_file.txt'
(물론 Stopword 파일의 경로를 설정하십시오).
해당 라인을 설정 한 후 구성 파일 (파일 -> 저장)을 저장하십시오. 그런 다음 트레이 아이콘을 클릭하고 선택하십시오 MySQL
, 그 다음에 Service
, 그런 다음 클릭하십시오 Restart Service
.
구성이 올바르게 수행되는지 확인하려면 phpMyAdmin
브라우저에서 Variables
상단의 탭을 찾은 다음 찾으십시오 ft stopword file
그리고 설정된 값을보십시오.
다른 팁
나는 같은 문제를 겪었습니다. 당신이 아무것도 다시 컴파일 할 필요가 없다고 생각합니다. 서버를 다시 시작할 필요가없는 mysql 콘솔 세트 ft_stopword_file = 'path/to/stopword_file.txt'를 사용할 수 있다는 것을 읽었습니다. 하지만 다음 다시 시작될 때까지 지속될 것이라고 생각하지 않으므로 구성 파일을 시도하고 작동하는지 확인합니다.
MySQL이 배송하는 스톱워드 목록 (적어도 MyISAM의 경우)은 MySQL의 소스에서 찾을 수 있습니다. myisam/ft_static.c
.
또한 이것들은 단지 '영어'중단입니다. 아마도 다른 언어에 대한 스톱워드는 다른 곳에서 정의되어 있습니다 ...
당신은 ft_stopword_file
의견에서 지적한 지침. 여기에 전체 문서.
나는 같은 문제를 겪고 있었다. stopwords 파일은 my.ini 파일의 [mysqld] 섹션에 포함되어야합니다.
mysqld] ft_stopword_file = 'd : /stop.txt'그런 다음
수리 테이블 표준 이름이 저를 위해 작동했습니다.
여기에서 사용할 중지 단어 목록을 찾을 수 있습니다. https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html. 이 목록을 파일에 저장하고 MySQL 구성 파일에서 참조했습니다 (예 : ft_stopword_file='path/to/stopword_file.txt'
).
내 문제 영역에서 "정보 기술"과 "미국"을 의미하기 때문에 Stopword 목록에서 "It"및 "Us"를 제거했습니다.
불행히도, stopword 목록을 변경할 때마다 MySQL을 다시 시작하고 전체 텍스트 인덱스를 재구성해야합니다.