Seite 1 von 1

Suchfunktion - word_common

Verfasst: 15.05.2004 17:56
von Alain
Hallo zusammen,

Ich habe bemerkt, dass einige Suchbegriffe nicht mehr gerfunden werden, obwohl diese zig male vorkommen.

Ich habe in der Datenbank nachgeschaut - die Verlinkung mit den IDs zu den Posts ist vorhanden.

Nur ein paar kurze Fragen:

- Wie kann so etwas passieren, dass diese Suchbegriffe im Datenbankfeld "word_common" den Wert 1 bekommen, sodass Sie bei der Suche ausgelassen werden.

- Kann ich die Werte in der DB (word_common) wieder auf "0" setzen, oder mache ich somit etwas out of order? :roll:

- Nimmt search_wordlist immer stetig zu? Wird die immer grösser?

Das sind wieder Fragen eines Leihen... :wink:

Re: Suchfunktion - word_common

Verfasst: 16.05.2004 01:25
von PhilippK
Alain hat geschrieben:- Wie kann so etwas passieren, dass diese Suchbegriffe im Datenbankfeld "word_common" den Wert 1 bekommen, sodass Sie bei der Suche ausgelassen werden.
Wenn ein Wort in der Datenbank zu oft vorkommt, wird es als 'häufig' markiert und damit aus der Indizierung ausgenommen.
Alain hat geschrieben:- Kann ich die Werte in der DB (word_common) wieder auf "0" setzen, oder mache ich somit etwas out of order? :roll:
Du kannst es zwar rausnehmen, löst damit aber das Problem nicht: das Wort kann ggf. wieder als häufig markiert werden und die alten Posts werden dann auch nicht mehr indiziert.
Einziger Ausweg wäre eine Änderung der entsprechenden Funktion und eine anschließende Neuindizierung.
Alain hat geschrieben:- Nimmt search_wordlist immer stetig zu? Wird die immer grösser?
Ja - aber mehr Wörter drin sind, desto langsamer steigt die...

Gruß, Philipp

Verfasst: 16.05.2004 13:25
von Alain
Hallo Philipp,
Du kannst es zwar rausnehmen, löst damit aber das Problem nicht: das Wort kann ggf. wieder als häufig markiert werden und die alten Posts werden dann auch nicht mehr indiziert.
Einziger Ausweg wäre eine Änderung der entsprechenden Funktion und eine anschließende Neuindizierung.
Wie mache ich eine Änderung der Funktion und eine Neuindizierung?
Ja - aber mehr Wörter drin sind, desto langsamer steigt die...
Meinst Du je mehr Wörter, desto langsamer wird die Suchfunktion?

Danke für Die Hilfe!

Verfasst: 16.05.2004 13:43
von PhilippK
Öffne die functions_search.php im includes-Verzeichnis und suche dort:

Code: Alles auswählen

function remove_common($mode, $fraction, $word_id_list = array())
{
Füge danach ein

Code: Alles auswählen

// function disabled to prevent marking words as common
/*
Suche dann nach

Code: Alles auswählen

				message_die(GENERAL_ERROR, 'Could not delete word match entry', '', __LINE__, __FILE__, $sql);
			}
		}
	}

	return;
und füge danach einAnschließend musst du den Suchindex mit einem dieser Mods neu aufbauen:
http://www.phpbbhacks.com/viewhack.php?id=434
http://phpbb.kordowich.net/?pgid=3
Meinst Du je mehr Wörter, desto langsamer wird die Suchfunktion?
Natürlich braucht die Suche länger, je mehr Beiträge zu durchsuchen sind...
Aber das meinte ich nicht: Für die Indizierung muss jedes Wort der Wortliste hinzugefügt werden - sofern es dort noch nicht vorhanden ist. Je mehr Beiträge vorhanden, desto größer die Wortliste. Und je größer die Wortliste, desto größer die Chance, das ein Wort in der Liste bereits vorhanden ist. Sprich: je mehr Beiträge, desto geringer die Zahl der Wörter, die noch zur Wortliste hinzugefügt werden müssen. Daher wächst die immer langsammer an.

Gruß, Philipp