Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Logica dietro un motore di ricerca

    Ciao a tutti!!!

    Volevo chiedervi una cosa... visto che non ci capisco molto... Quale logica si deve seguire per creare un corretto motore di ricerca all'interno di un sito?

    In sti giorni volevo provare a farne un x i fatti miei, e l'hocosì impostato..

    da un form faccio passare il termine di ricerca, e da quì

    $ricerca= mysql_query ("SELECT * FROM articoli_article order by id_arg");

    while ($articoli = mysql_fetch_array($ricerca)){

    if (strstr($articoli[titolo],$search )) {
    print "<a href=index.php?mod=Articoli&&pag=leggi_art&&id_art =$articoli[id_art]>
    $articoli[titolo]</a>
    $articoli[introduzione]

    ";
    }
    }


    Il codice funziona... le cose me le ricerca... ma vedendo moduli di ricerca postati quì mi sembra troppo semplice e "amatoriale". Che limiti ha questo codice (anche in termini di velocità), e qual'è il ragionamento che sta alla base di un corretto motore di ricerca?


    Vi ringrazio e vi auguro buone feste!!!!

  2. #2

    Re: Logica dietro un motore di ricerca

    scusate, ho ripetuto il post...

  3. #3
    Ti conviene mettere la ricerca direttamente nella query sul db, quindi:

    codice:
    $ricerca= mysql_query ("SELECT * FROM articoli_article order by id_arg where titolo like '%$search%'");
    Quindi non ti serve fare la strstr()

  4. #4
    hahaa questa prorpio non la sapevo!! in quel modo riparmo del codice! grazie!


    Ma per te, come motore di ricerca, è troppo scarno?

  5. #5
    Fare un motore serio (con AND, OR, apici, etc) é un'altra cosa, però così da già dei buoni risultati, io faccio così:

    codice:
    $strArr = explode(" ", $stringa);
    
    $qry = "SELECT * FROM tabella WHERE 1";
    foreach ($strArr as $parola)
        $qry .= " AND titolo LIKE '%" . mysql_escape_string($parola) . "%'";

  6. #6
    Ti ringrazio appena provo ti faccio sapere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.