MySQL 데이터베이스에서 FULLTEXT 검색을 수행하는 간단한 PHP 스크립트가 있습니다. 나는 PHP 측에서 이것을 해결하기 위해 내가 MySQL 측에서 할 수있는 일이 많지 않은 것처럼 할 수있는 일이 있기를 바라고있다.PHP에서 MySQL FULLTEXT를 사용하여 공유 호스트에서 4 자 미만의 단어를 검색하십시오.
저는 현재 PHP 클래스에서 이것을 사용하고 있으며 내 로컬 호스트에서 100 % 작동하지만 공유 된 Godaddy 호스팅에 업로드 할 때 실패합니다.
$pieces = explode(" ", $searchstring);
$searchwords = '';
foreach($pieces as $value) {
$searchwords .= '+'.$value.' ';
}
$sql = "SELECT * FROM items WHERE MATCH (ItemName, ItemDescription) AGAINST ('$searchwords' IN BOOLEAN MODE)";
나는이 문제에 대한 해결책을 많이 연구했지만 아직 답변을 찾지 못했습니다. 모든 문서 및 포럼에서는 my.ini 파일 ft_min_word_len = 4를 내 localserver에서 테스트 할 때 완벽하게 작동하는 ft_min_word_len = 0으로 변경하도록 제안합니다.
godaddy 공유 호스팅 계정에 프로젝트를 업로드해야하므로 my.ini 구성 파일을 변경할 수 없으므로이 오류와 관련된 작업이 필요합니다.
내가 달성하기 위해 노력하고 무엇을예 :
검색 '아이폰 5 LCD'는 모든 '아이폰 4 홈 버튼' '아이폰 3가 표시됩니다 있도록'아이폰 '이 모든 결과를 반환 할 데이터베이스에 대한 원래 검색 쿼리에서 '5'와 'lcd'를 건너 뛰었 기 때문에 4 개의 문자보다 작습니다. ft_min_word_len이 ft_min_word_len = 0으로 설정되어 있으므로 로컬 사본에 'iphone 5 lcd'는 실제로 필요한 항목 만 반환합니다! 그것은 완벽하게 작동합니다! 나는 '5', '5___'또는 'LCD_'또는 'LCD *'또는 '5 *'와 같은 '5'와 같은 짧은 단어를 채우려고 시도했지만 작동하지 않습니다. 짧은 단어를 '덧붙이 기'제안했지만 어떤 문자를 사용해야하는지 설명하지 않은 해결책을 읽었습니다.
유용하다고 생각되는 호스팅으로 전환하면됩니다. – Mihai
나는 자신의 my.cnf 파일을 생성하고 홈 디렉토리에 넣을 수 있다고 생각한다. – Traxo