• User Attivo

    Combinare uan FULL TEXT con LIKE %...%

    Salve,
    sto sviluppando un motore di ricerca per film ed ho notato che alcuni risultati vengono completamente omessi o non considerati adeguadamente con la FULL TEXT, mentre con LIKE si.

    Ad esempio se cerco:
    "transformers"

    il risultato "Film transformers" viene elencato dopo altri risultati meno pertinenti come esempio "Attore e sceneggiatori di transformers" o altro.
    Insomma combinando al ricerca con LIKE e Full text dovrei avere i risultati desiderati.
    Ovviamente i risultati di Full TEXT dovrebbero mantenere l'ordine di pertinenza.

    Questa è la query per il FULL TEXT

    [php]SELECT *, MATCH(_data.title, _data.category) AGAINST('" . $parameters['phrase'] . "' IN BOOLEAN MODE)

     AS score FROM _data, _sites  WHERE MATCH(_data.title, _data.category)        
    

    AGAINST('" . $parameters['phrase'] . "' IN BOOLEAN MODE )
    AND _sites.id_lang LIKE '%" . $parameters['id_lang'] . "%'
    AND _data.status=0
    AND _sites.siteID = _data.siteID

     ORDER BY id DESC, score DESC[/php]

  • User Attivo

    Ciao x3d0,
    sul fatto che l'ordinamento della query FULL TEXT possa essere poco evidente, posso essere d'accordo. Sul fatto che addirittura non restituisca i risultati mi pare strano. Prova a controllare, perché in temini di performances, se non ricordo male, la ricerca FULL TEXT è decisamente più veloce.

    Per quanto concerne la domanda precisa... beh non l'ho mica capita... :bho:

    :ciauz: