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

    fulltext e peso dei campi

    devo cercare all'interno di più campi di tipo fulltext, è possibile dare più peso a parole presenti in un campo piuttosto che in un altro??

    faccio un esempio:

    se cerco le parole "amore libero"

    record: 1
    titolo: cose che parlano di amore
    altro: nel tempo libero conosciamoci

    record: 2
    titolo: amore libero sempre
    altro: non lo conoscono bene

    in questo esempio i due record contengono entrambi attinenza 2 tra tutti i campi, però il secondo record contiene entrambi le parole nel campo "titolo" e nessuna nel campo "altro", è possibile fare in modo che il secondo record sia più attinente del primo???
    Hosting, VPS, SSL e Domini: https://www.blooweb.it

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Di sicuro è possibile valutare in modo differente il "peso" delle parole cercate, tuttavia non sò se sia possibile fare lo stesso coi campi.

    Bisognerebbe approfondire sul meccanismo di funzionamento dell'algoritmo sull'indice FULLTEXT.

    Hai già fatto delle prove? Riscontri?

  3. #3
    Il problema è che in MATCH(nome_campo1,nome_campo2) non mi sembra si possa agire in qualche modo, che so per esempio inserendo MATCH( > nome_campo1,nome_campo2), per indicare che i risultati trovati nel campo1 siano più importanti di quelli trovati nel campo2

    sul sito mysql hovisto ma non parla di questo da nessuna parte
    Hosting, VPS, SSL e Domini: https://www.blooweb.it

  4. #4
    riprendendo l'esempio precedente mi viene in mente un modo per aggirare l'ostacolo:

    SELECT *,MATCH(campo1) AGAINST('amore libero' IN BOOLEAN MODE) AS suno,MATCH(campo2) AGAINST('amore libero' IN BOOLEAN MODE) AS sdue FROM ........

    in questo modo avrò due campi "attinenza" che si chiamano SUNO e SDUE e quindi facendo un doppio DESC dovrei dare precedenza a uno o al secondo.

    Però nel mio caso sono un sacco di query e devo valutare la pesantezza di questa modifica
    Hosting, VPS, SSL e Domini: https://www.blooweb.it

  5. #5
    per esempio potrei prendere i due valori SUNO e SDUE, se SUNO per mè è più importante potrei moltiplicarlo per un valore fisso:

    PRIMO CAMPO:

    SUNO=1.5
    SDUE=1.7

    TOTALE=3.2


    SECONDO CAMPO:

    SUNO=1.2
    SDUE=1.9

    TOTALE=4.1

    Se ordine dando la precedenza al valore SUNO avrò pre primo PRIMO CAMPO e poi SECONDO CAMPO anche se in SECONDO CAMPO SDUE è più grande
    Hosting, VPS, SSL e Domini: https://www.blooweb.it

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.