Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Limite fulltext

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401

    Limite fulltext

    Sto creando un motore di ricerca per un sito utilizzando fulltext search.
    Il problema è che essendo su un server shared (Aruba) non posso cambiare ft_min_word_len e ho assolutamente necessità di fare ricerche di 3 caratteri.

    Quale è secondo voi il metodo migliore di procedere per bypassare il problema? Avevo pensato a creare la query in modo da usare LIKE per le parole da 3 lettere, ma poi come calcolo la rilevanza del risultato?

    <rant>Sinceramente trovo stupido avere ft_min_word_len di default a 4, le ricerche da 3 lettere non sono poi cosi' rare e uno poi è costretto a usare LIKE che pesa molto di più sul server... </rant>

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Nessuno ha idee/links da proporre?

  4. #4
    Originariamente inviato da nICO80
    Nessuno ha idee/links da proporre?
    prendi un server dedicato ed imposti la lunghezza della stringa a 3 lettere. E rifai gli indici. Puoi anche impostare tu le stop words poiche' quelle di default sono in inglese.

    Ma per un ricerca fulltext credo gia' abbia poco senso cercare parole di 4 lettere figuriamoci con tre e quale rilevanza potrebbe trovare....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Il dominio non è mio, sto solo (ri)facendo il sito, e al momento di server dedicato non se ne parla (comunque non è una cosa che posso decidere io).
    Il fatto è che la vecchia versione del sito permette le ricerche di 3 lettere quindi la nuova versione DEVE averle.

    Ad ogni modo le ricerche di 3 lettere sono utilissime per trovare, ad esempio, sigle o acronimi ed essendo questo in particolare un sito che tratta di argomenti di biologia sono assolutamente indispensabili...

    Mi sa che l'unica sarà quella di usare LIKE, mi fa un po' schifo come soluzione, ma se non c'è altro modo...

  6. #6
    Originariamente inviato da nICO80
    Ad ogni modo le ricerche di 3 lettere sono utilissime per trovare, ad esempio, sigle o acronimi ed essendo questo in particolare un sito che tratta di argomenti di biologia sono assolutamente indispensabili...
    se cerchi sigle o acronimi forse e' meglio LIKE. match .. against intanto lavora solo con MyIsam ed e' pesantino di suo e con (per me) troppe limitazioni.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Il fatto è proprio questo! Il motore di ricerca del sito deve poter cercare sia parole di 4+ lettere che acronimi (di 3 o più lettere).

    Siccome stiamo parlando di varie tabelle piuttosto grandi (la più grande con >50000 entries) e la ricerca viene effettuata su almeno 2 campi per ogni tabella, volevo evitare di fare tutto con LIKE.

    Una ricerca fulltext per parole >4 lettere è veramente veloce (molto più veloce di LIKE almeno nel mio caso), quindi immagino che la cosa non cambi più di tanto con parole di 3 (in effetti l'ho fatto in locale ed è una scheggia).

    Ad ogni modo, come mi consiglieresti di impostare la query nel caso di una ricerca contenente una parola di 3 lettere ed una di >3 lettere?

    Due query separate o una unica o....

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.