BenschM@ster
Mitglied
Servus allerseits,
ich baue zur Zeit eine kleine Such-Engine.
Die Suche läuft über mehrere Tabellen. Dabei werden die Spalten verschieden gewertet mittels match() against().
Das Problem ist, dass ich natürlich keinen Fulltext-Index über 2 Tabellen anlegen kann.
Konkret ausgedrückt sieht es so aus:
Tabelle Produkte
ID - Name - Beschreibung - Firmen ID
Tabelle Firmen
ID - Firmierung
Die Firmen ID entspricht der ID aus der Tabelle Firmen.
Bei einer Suche sollen jetzt sowohl Name als auch Beschreibung, sowie die Firmierung durchsucht werden, wobei jede Spalte anders gewichtet wird.
Solange das über eine Tabelle geht habe ich keine Probleme.
Aber wie bringe ich jetzt die zweite Tabelle ein?
Per Union? Leider weiß ich nicht wie man mit Union umgeht.
Würde mich über eine Antwort freuen.
Gruß,
Ben
ich baue zur Zeit eine kleine Such-Engine.
Die Suche läuft über mehrere Tabellen. Dabei werden die Spalten verschieden gewertet mittels match() against().
Das Problem ist, dass ich natürlich keinen Fulltext-Index über 2 Tabellen anlegen kann.
Konkret ausgedrückt sieht es so aus:
Tabelle Produkte
ID - Name - Beschreibung - Firmen ID
Tabelle Firmen
ID - Firmierung
Die Firmen ID entspricht der ID aus der Tabelle Firmen.
Bei einer Suche sollen jetzt sowohl Name als auch Beschreibung, sowie die Firmierung durchsucht werden, wobei jede Spalte anders gewichtet wird.
Solange das über eine Tabelle geht habe ich keine Probleme.
PHP:
SELECT id,name , 3*(MATCH (name) AGAINST ('$suchwort')) AS score1, 1,8 * (MATCH beschreibung AGAINST ('$suchwort')) AS score2 FROM kataloge WHERE MATCH (name,beschreibung) AGAINST ('$suchwort') ORDER BY score1 DESC
Aber wie bringe ich jetzt die zweite Tabelle ein?
Per Union? Leider weiß ich nicht wie man mit Union umgeht.
Würde mich über eine Antwort freuen.
Gruß,
Ben