• Welcome to Simple Machines Community Forum. Please login or sign up.
September 18, 2021, 03:05:18 AM

News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord


Problemi con la ricerca

Started by aga21, June 10, 2013, 04:33:51 AM

Previous topic - Next topic

aga21

Ciao, ho un problema con la funzione di ricerca, qualsiasi parola inserisca non mi restituisce NESSUN risultato.

Ho provato indice completo (va in timeout) indice personalizzato e anche l'altra opzione.

Cosa devo controllare?

emanuele

Un link al sito farebbe comodo.
Quanto grosso è il forum? (numero di post)
Errori nel log?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

www.basketforum.info


http://www.basketforum.info/smf/index.php?action=search2;params=eJwtzc0OwiAQBOB38eJlDi5La30aws821WAxlGpMeHjB9DbzJbtjw9uuXkI910s9VZd7UtAYQAzSYA01Qd2gCDyCBzCDFajhiCsmEIFUu92W9DE-PV9RirQvnXb3EF9MWuP3kJRLS1mi_IcPMuGeGwfZfBex2S-tu32e7Q_TRzZW;start=0

2: Division by zero

File: /home/bforum/public_html/basketforum.info/smf/Sources/Subs.php
Riga: 704

emanuele



Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Era installato SMF Search Enhancement Mod ma l'ho disinstallato

emanuele

Ed ora è tornata a funzionare?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

No, continua a non funzionare. Ho provato anche a reinstallare il mod e non funziona ugualmente.

emanuele

Il problema è che l'errore in sé è in una funzione "accessoria" che serve solo a creare la serie di pagine e che solamente accetta numeri provenienti da altre parti.
Quindi il problema è altrove, dove questi numeri vengono generati.
Ora, capire perché viene inviato uno 0 invece di un numero sensato è piuttosto difficile in questa condizione...
Prova ad allegare qui (usando la funzione allegati, non copia&incollandolo nel testo del messaggio) il file Search.php (directory Sources).


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Il percorso esatto quale sarebbe? Non trovo nessun file search.php ne in sources che nelle sottodirectory

emanuele

Il percorso è Sources.
E' all'interno di quella directory.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21


aga21

Porto su il topic perchè non sono riuscito a risolvere

emanuele

Pardon...

mmm...com'è configurata la ricerca?
Indice, fulltext, altro?

Inizio a sospettare che il forum sia troppo grande per usare la ricerca interna... (quando ho guardato l'altra volta mi sa che ho perso uno zero nel numero di post, altrimenti l'avrei suggerito prima)
Con un milione e mezzo di messaggi è molto probabile che ci siano dei timeout durante la ricerca. Se sei su un VPS o server dedicato di qualche tipo, hai considerato l'utilizzo del motore esterno "Sphinx"?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Quote from: emanuele on June 25, 2013, 10:22:18 AM
Pardon...

mmm...com'è configurata la ricerca?
Indice, fulltext, altro?

Inizio a sospettare che il forum sia troppo grande per usare la ricerca interna... (quando ho guardato l'altra volta mi sa che ho perso uno zero nel numero di post, altrimenti l'avrei suggerito prima)
Con un milione e mezzo di messaggi è molto probabile che ci siano dei timeout durante la ricerca. Se sei su un VPS o server dedicato di qualche tipo, hai considerato l'utilizzo del motore esterno "Sphinx"?

Ho provato tutti i tipi di ricerca,   a generare l'indice completo va in timeout, con quello parziale va in timeout dopo essere arrivato al 3% dopo varie ore.
Sono su un normale hosting condiviso.

emanuele

timeout è strano.
Devo controllare il codice, mi puzza di bug...

A questo punto, direi che un indice è il minimo. Un "fulltext" index lo si può creare anche manualmente, quindi proviamo così: vai in phpMyAdmin, apri il database di SMF, quindi clicca in alto dove c'è scritto "SQL" e metti questo nel box:

ALTER TABLE {db_prefix}messages
DROP INDEX body;
ALTER TABLE {db_prefix}messages
ADD FULLTEXT body (body);

al post di {db_prefix} metti il prefisso che hanno le tue tabelle di SMF (solitamente è smf_) in modo che il nome della tabella sia simile a: "smf_messages".
E quindi clicca su "esegui" (o "vai", non ricordo di preciso).


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Non vorrei che aver installato precedentemente quella mod possa avere danneggiato qualche file, come posso verificare che smf utilizzi la "vecchia" ricerca?

emanuele

L'hai disinstallato?
Allora non è più presente. ;)

Se vuoi essere sicuro controlla che non esista ad esempio il file "DCSearch.php" in "Sources".


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

No, non c'è più. Però inizialmente la ricerca seppur male funzionava, ora restituisce solo il nulla.

Ho provato la quary SQL



Run SQL query/queries on database bforum_smf:


ALTER TABLE smf_messages
DROP INDEX body;
ALTER TABLE smf_messages
ADD FULLTEXT body (body);


mi restituisce:

Error

SQL query:

ALTER TABLE smf_messages DROP INDEX body;

MySQL said: Documentation
#1091 - Can't DROP 'body'; check that column/key exists

emanuele

Ok, allora esegui solo:
ALTER TABLE smf_messages
ADD FULLTEXT body (body)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

E' comparso LOADING

e poi dopo un paio di minuti

#2013 - Lost connection to MySQL server during query

emanuele

Fischia...nemmeno phpmyadmin riesce a creare l'indice senza che mysql muoia...

L'unica speranza è che SMF riesca a creare un indice personalizzato...dai tuoi messaggi non son sicuro se ci hai già provato e se va in timeout anche questo (ma anche se andasse in timeout, dovrebbe essere possibile continuare...), consiglierei comunque di fare queste operazioni quando c'è poca gente in giro, così da ridurre la probabilità di problemi.

ETA: domani e dopo sono via, quindi non risponderò...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Non solo non funziona ma la tabella  smf_log_search_words segnalava 10 milioni di operazioni (o qualcosa del genere) e hanno sospeso l'account per troppo carico sul server  :o

Ora per sicurezza l'ho cancellata...

Allego il log che mi ha inviato il gestore

emanuele

Mannaggia, credevo di aver risposto, ma invece mi deve essere rimasta aperta da qualche parte senza che postassi... :-[

Il log non dice molto (anzi proprio niente) riguardo la ricerca.
E' possibile che creando l'indice abbia eseguito una grande quantità di operazioni (in pratica va a leggere tutti i messaggi del forum, estrae le parole chiave e le inserisce nella tabella), però una volta che questa operazione è conclusa, non dovrebbe generare molto più carico del normale...anzi.

Devo fare qualche prova, purtroppo l'unico forum così grosso che ho a disposizione è un forum di test con messaggi generati casualmente, quindi la varietà di parole è limitata e la tabella generata sarà poco significativa.
Una cosa che potresti provare a fare è usare un backup, generare l'indice in locale e caricare la tabella dell'indice...magari perderesti qualche messaggio (tra il backup e l'upload), ma dovrebbe funzionare.

Se hai bisogno di una mano per l'operazione fammi sapere. ;)

Ah, una cosa: ovviamente i backup quando li fai li fai da phpmyadmin, vero?


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

aga21

Ho risolto anche questo problema, in pratica nel pannello di controllo nelle opzioni di ricerca due valori erano settati a 0 e 0, inserendo numeri interi funziona tutto senza problemi.

Advertisement: