You are not logged in.

  • Login

1

Saturday, November 1st 2008, 5:15pm

Mehrere Volltext Indizes zusammen nutzen

Hi Leute,
habe da ein Problem mit folgendem MySQL-Query:

SQL Code

1
2
3
4
SELECT tutorials.ID, tutorials.Titel, search_index.Text, 
MATCH (search_index.Text, tutorials.Titel) AGAINST ('text') AS score 
FROM tutorials JOIN search_index ON search_index.ID = tutorials.ID 
WHERE MATCH (search_index.Text, tutorials.Titel) AGAINST ('text');


Quoted

MySQL meldet: Dokumentation
#1210 - Incorrect arguments to MATCH


MfG

3

Saturday, November 1st 2008, 7:17pm

Einmal über "Text" in der Tabelle "search_index" und einmal über "Titel" in der Tabelle "tutorials". Das müsste also stimmen!?

MfG

4

Saturday, November 1st 2008, 9:18pm

achso.. du wollst mehrere Volltextindizes in verschiedenen Tabellen zusammen nutzen.
Ich glaube nicht, dass so etwas geht. Kombiniere die Ergebnisse lieber und mittel sie.

SQL Code

1
2
3
4
5
6
7
8
9
10
11
SELECT 
	tutorials.ID, 
	tutorials.Titel, 
	search_index.Text, 
	(MATCH (search_index.Text) AGAINST ('text') + MATCH(tutorials.Titel) AGAINST('text'))/2 AS score 
FROM 	tutorials 
INNER JOIN 
	search_index 
ON search_index.ID = tutorials.ID 
WHERE 
	(MATCH (search_index.Text) AGAINST ('text') + MATCH(tutorials.Titel) AGAINST('text'))/2;


PS: Ich habe den Titel des Threads geändert.. "Fehlerhafte Abfrage" ist so unaussagekräftig

5

Thursday, June 11th 2009, 4:47pm

achso.. du wollst mehrere Volltextindizes in verschiedenen Tabellen zusammen nutzen.
Ich glaube nicht, dass so etwas geht. Kombiniere die Ergebnisse lieber und mittel sie.

SQL Code

1
2
3
4
5
6
7
8
9
10
11
SELECT 
	tutorials.ID, 
	tutorials.Titel, 
	search_index.Text, 
	(MATCH (search_index.Text) AGAINST ('text') + MATCH(tutorials.Titel) AGAINST('text'))/2 AS score 
FROM 	tutorials 
INNER JOIN 
	search_index 
ON search_index.ID = tutorials.ID 
WHERE 
	(MATCH (search_index.Text) AGAINST ('text') + MATCH(tutorials.Titel) AGAINST('text'))/2;


PS: Ich habe den Titel des Threads geändert.. "Fehlerhafte Abfrage" ist so unaussagekräftig


Hi. lang ists her, aber ich hab wieder ein Problem mit diesem Such-Query: Mir ist gerade aufgefallen, dass bei dieser Suchabfrage die Ergebnisse immer genau doppelt geliefert werden. Also es werden alle zutreffenden Eintrage doppelt "selected"..

Woran könnte das liegen?

MfG

Ollo

6

Thursday, June 11th 2009, 6:55pm

Hi,
es werden alle zutreffenden Eintrage doppelt "selected"..

Verstehe ich nicht. Du erhältst das selbe Tutorial mehrmals?
Ist search_index.ID nicht der PRIMARY KEY? Wenn doch ist es unmöglich, dass du das selbe Tutorial mehrfach erhältst.

7

Thursday, June 11th 2009, 9:41pm

Bist du sicher, dass du die SQL-Query vom 1. November 2008 meinst? Wenn ja, stellst du den Fehler aber spät fest. Ansonsten poste doch mal bitte die Query bei der der Fehler auftritt, denn bei der vom 1. November 2008 werden nur dann doppelte Werte zurückgeliefert, wenn auch doppelte Werte in der Datenbank stehen.

Similar threads

Social bookmarks