Jump to content
Fórum Script Brasil
  • 0

Palavras Mais Procuradas Em Um Sistema De Busca


dfonte
 Share

Question

alguém conhece algum código php que registra as palavras mais procuradas em um sistema de busca para que depois eu possa mostrar quais são as 50 palavras mais procuradas e quantas vezes elas foram digitadas no sistema de busca.

agradeço aos que me ajudarem.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Acho que se armazenar todas as palavras digitadas nas buscas em um arquivo.txt e separá-las por um caracter, dá pra fazer uma busca de quantas vezes a mesma palavra aparece no arquivo... depois criar uma rotina de ranking... Ixi! é um trabalhão.... agent podia tentar desenvolver isso por aqui...

Link to comment
Share on other sites

  • 0

Bem ... nesse sentido você vai criar um arquivo.txt que receberá os valores digitados pelo usuário também, junto com sua consulta (busca). Daê você vai criar uma rotina de inclusão...

Vamos chamar o arquivo de palavraChave.txt.

<?
$palavra = $_POST["busca"]."\n"; // pegando o valor digitado e quebrando uma linha

$fp = fopen("palavraChave.txt",a);  // abrindo o arquivo
$escrever = fwrite($fp, $palavra); //  escrevendo o valor digitado

fclose($fp); // fechando o arquivo 
?>
Bem esse arquivo você vai incluir na página da pesquisa para cada vez que a busca for realizada, seja inserido os valores da busca no arquivo txt vo pensar +... ---- IH! Percebi que o array_count_values() retorna os valores e as posiçoes do array, mas não retorna por ordem de maior numero de valores... pelo que vi é aleatório... tipo:
$array = array(1,1,2,1,1,3,1,1);
var_dump(array_count_values($array));
/*
retorna assim
array(3){
  [2] => 1
  [3] => 1
  [1] => 6
}

*/

Se tivesse como retornar em ordem pela maior quantidade de repetições por valores, seria mais fácil....

Link to comment
Share on other sites

  • 0

Se tivesse como retornar em ordem pela maior quantidade de repetições por valores, seria mais fácil....

Este problema é facil de ser resolvido, só utilizar o arsort() com flag SORT_NUMERIC:

$array = array_count_values(array(1,1,2,1,1,3,1,1));
arsort($array, SORT_NUMERIC);
$array = array_reverse($array);


var_dump($array);

Link to comment
Share on other sites

  • 0

Então agora é só transformar o arquivo em um array...

<?php
$arquivo = file("palavraChave.txt");

$array = array_count_values($arquivo);
arsort($array, SORT_NUMERIC);

$array = array_reverse($array);

?>
E exibir as primeiras posições...
<?
echo "Os 5 Termos Mais Buscas São:<br>";

$retorno = array_slice($array,0,5);

foreach($retorno as $colocacao=>$valor){
       echo $colocacao."º Lugar  --> ."$valor."<br>\n";    
}
?>

Acho que isso resolve... o que acham??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649k
×
×
  • Create New...