저는 PHP, mySQL 및 PDO를 사용하여 상대적으로 간결한 검색 엔진을 만들고자합니다. 나는 책 데이터베이스를 가지고 있는데 두 필드에 대해 검색을 시도하고있다. 여기에 지금까지 무엇을 가지고 :관련성이있는 PHP PDO 검색 엔진
"SELECT id, title, author, isbn, MATCH(title, isbn) AGAINST (:term) AS score FROM %sbooks WHERE MATCH(title, isbn) AGAINST (:term) AND is_active = 'y' ORDER BY score DESC LIMIT 0,25");
$sth->execute(array(':term'=>'+'.$keywords));
$ 키워드가 검색 필드에서 문자열, 그래서 '책 일종의'같은 수 있습니다.
나는 어떤 단어를 걸러 내고 싶지 않거나 너무 좋아 보이지 않지만, 위의 쿼리는 부울 모드로 넣어도 많은 결과를 무시합니다.
또한 데이터베이스에 두 권의 책 '책 번호 1'과 '책 번호 2'가 있습니다. '책 번호 2'를 검색하면 '책 번호 1'이 더 높게 책정됩니다. 가장 큰 문제는 그러나, 검색의 많은 단지 결과가 없습니다 :(
어쨌든 내가 잘못 여기서 뭐하는 거지 제안 도와 주 시겠어요?
PHP를 통해 쿼리 단위로 최소 단어를 변경할 수 있습니까? MySQL 5가 있지만 불행히도 설정 파일에 액세스 할 수 없습니다. – Hanpan
아니요, 쿼리마다 불가능합니다. 서버 당. –