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

    [mysql] ricerca FULLTEXT, conviene?

    Stavo "ragionando" sulle ricerca fulltext tramite MATCH...AGAINST, e alla fine mi sono chiesto: conviene davvero, visto tutte le limitazioni (ad esempio le 500 e passa "stopword", parole escluse dalla ricerca), usare questo sistema?

    Lungi da me sminuirne la potenza; solo se pensiamo all'indice restituito da una ricerca effettuata tramite questo sistema con cui è possibile ordinare i risultati per incidenza, si può percepire quanto sia comodo molte volte usare il MATCH.

    Ma allora, la risposta più appropriata in questo senso, sarebbe "dipende dai casi".
    Secondo me, se in una situazione in cui l'ordinamento per incidenza sopracitato non dovesse servire, allora gli svantaggi sarebbero maggiori dei vantaggi, e si "dovrebbe" preferire una solita ricerca LIKE, a scapito di una leggera (+ o -) celerità della ricerca stessa.

    Cosa ne pensate? (calcolate anche la dubbia lucidità del sottoscritto in questo momento...)


    Ciaoooooo!!!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  2. #2
    Utente di HTML.it L'avatar di chris
    Registrato dal
    Sep 1999
    Messaggi
    1,568
    le stopwords andrebbero implementate anche in un sistema alternativo di ricerca, non vedo quindi perché non usare le ricerche fulltext per questo motivo.
    casomai si potrebbe obiettare che per ogni tipo di ricerca deve essere abilitato un indice apposito, per cui per dare ad esempio la possibilità di ricercare in due campi a scelta dell'utente sui tre previsti è necessario creare 3 indici diversi rendendolo questa volta sì non proficuo.

  3. #3
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    Forse non tieni conto che la ricerca tramite like è molto piu' lenta e dispendiosa per il server, su database di grosse dimensioni la cosa si nota.
    Cmq sono d'accordo ,come in quasi tutto a questo mondo, che dipende dai casi

  4. #4
    Originariamente inviato da chris
    le stopwords andrebbero implementate anche in un sistema alternativo di ricerca, non vedo quindi perché non usare le ricerche fulltext per questo motivo.
    Ok, ma l'alternativa sarebbe comunque usare il consueto LIKE, quindi si dovrebbe fare dapprima una sorta di ricerca all'interno delle chiavi cercate per escludere quelle incluse nelle stopwords, quelle minori di 4 caratteri, oltre a tutti i consueti controlli di sicurezza.
    Insomma, nella maggior parte dei casi io non vedo tutta 'sta comodità e duttilità nell'usare la fulltext.

    PS: leggermente OT, non ricordo se i campi fulltext e gli indici in generale hanno comunque effetti positivi senza ricerche tramite match...against, ovviamente senza essere sfruttati al massimo.


    Ciaooooooo!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  5. #5
    Un piccolo UP (ma ne esistono di varie dimensioni?) perchè voglio sapere le vostre opinioni in merito.
    Qualuno può azzardare per quale dimensione del db conviene spudoratamente usare la fulltext?
    Rinnovo inoltre le domande precedenti.


    Ciaooooooo!!!!!!
    Originariamente inviato da kalamaro
    una volta avevate linkato la pagina di un software per eliminare i ciao! di debug dai post, ho provato nel mio negozio di fiducia a scaffale non lo hanno, vi ricordate il nome?

  6. #6
    Originariamente inviato da debug
    Qualuno può azzardare per quale dimensione del db conviene spudoratamente usare la fulltext?
    Rinnovo inoltre le domande precedenti.
    Considera che già su un archivio di circa 2000 articoli la ricerca con LIKE ci mette circa il doppio del tempo della fulltext.

    Inoltre tieni presente il meccanismo di soglia del 50%. Se non fai una ricerca in "boolean mode" e la parola cercata è presente in più del 50% dei record, la parola viene considerata come una stopword, cioè troppo frequente, e viene esclusa dai risultati.

    Secondo me può aver senso in casi in cui hai moltissimi dati e non hai bisogno di tanta versatilità nelle opzioni di ricerca (come diceva chris). Con indice singolo e tanti dati dà il meglio di sé.

    Nel caso opposto non conviene.

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.