PHP를 사용하여 MySQL에서 키워드를 동적으로 작성합니다
문제
내 구조 : 각 카테고리에는 텍스트가 있습니다. 이 텍스트는 그 자체의 항목입니다. 따라서 '카테고리'및 '텍스트'테이블. 모든 카테고리에는 약 90 개의 텍스트가 있으며 각 텍스트는 약 300 자입니다.
내가하고 싶은 것은 카테고리에 대한 메타 태그 (키워드)를 만드는 것입니다. 방법> 모든 관련 '텍스트'를 얻고 모든 단어를 평가하고 상위 10 개 단어를 가져가는 방법. 이 상위 10 개는 카테고리의 키워드 메타 태그가 될 것입니다.
이제 .. 트릭> 상위 10 개 단어를 검색하는 방법. 현재> 각 텍스트 (전체 텍스트)가 단어 당 배열로 나뉘어 질 것입니다. 이 배열 (PHP)은 상당히 길다. 후에, 나는 각 단어의 빈도를 취하고 주파수에서 다시 순위를 매 깁니다. Voila Top 10 단어.
이 절차를 테스트하지는 않았지만 조금 걸릴 수 있다고 생각합니다. 그것은 캐시가 될 것이므로 매주 한 번만 실행하면되지만 여전히 타임 아웃을 원하지 않습니다.
팁이 있습니까? 모든 도움이 감사합니다.
감사,
모리츠
해결책
좋아, 이제 위의 의견에서 내 평화를 말 했으니, 나는 당신의 알고리즘에 도달 할 것입니다.
이를 수행하는 방법에는 여러 가지가 있습니다. PHP-Heavy 접근 방식에 집중하고 다른 SOERS가 다른 방법을 수행하게 할 것입니다.
이미 데이터베이스를 쿼리하고 모든 단어를 공간 분리 목록으로 변수 $ 텍스트에 저장했다고 가정하겠습니다.
// Sample data in $texts
$texts = "orange orange apple apple apple banana";
$withCounts = array_count_values( explode( ' ', $texts ) );
asort( $withCounts );
$topTen = array_keys( array_reverse( array_slice( $withCounts, -10 ) ) );
print_r( $topTen );
제휴하지 않습니다 StackOverflow