Volltextsuche und Wörtertrennung

06/10/2008 - 14:25 von Armando Brazerol | Report spam
Hallo
Auf meiner Website stelle ich ein Suchformular zur Verfügung. Die Suche
greift
auf den Sql-Server 2000 zu, wo ich eine Volltextsuche laufen habe.

Mein Problem:
Suche ich: Baumberg
so wird alles mit Baum, Berg gefunden.

da Baumberg in diesem Fall ein Name ist, will ich nur Eintràge
finden, die exakt dem Wort entsprechen. D.h. die Trennregel soll nicht
verwendet werden.

Wie erreiche ich das? Eine Eingabe mit "Baumberg" (Hochkomma) brachte
nichts.

Danke für Euere Hilfe.

Mit freundlichen Grüssen
Armando
 

Lesen sie die antworten

#1 Elmar Boye
07/10/2008 - 09:32 | Warnen spam
Hallo Armando,

Armando Brazerol schrieb:
Auf meiner Website stelle ich ein Suchformular zur Verfügung.
Die Suche greift auf den Sql-Server 2000 zu, wo ich eine
Volltextsuche laufen habe.

Mein Problem:
Suche ich: Baumberg
so wird alles mit Baum, Berg gefunden.



Das kann ich für SQL Server 2000 SP4 nachvollziehen,
sehe aber keine Möglichkeit es ihr abzugewöhnen.

Zumal es bei CONTAINS so dokumentiert ist:
<Zitat>
Satzzeichen werden nicht beachtet.
Mit CONTAINS(testing, "computer failure") wird daher auch eine
Zeile mit dem Wert "Where is my computer?
Failure to find it would be expensive." gefunden.
</Zitat>

Erst mit SQL Server 2005 und 2008 wird "Baumberg" nicht
mehr gefunden, wenn man wie unten danach sucht.

Was an den Erweiterungen liegen dürfte die dort
vorgenommen wurden. Mit SQL Server 2005 ist die
Volltextsuche eigenstàndig geworden und für 2008
sind weitere Sprachen hinzugekommen:
<URL:http://msdn.microsoft.com/de-de/lib...7.aspx>


Gruß Elmar

INSERT INTO dbo.Tabelle (id, daten) values (1, 'Der Baum wàchst auf dem Berg.')
INSERT INTO dbo.Tabelle (id, daten) values (2, 'Der Baumberg ist sehr hoch.')
INSERT INTO dbo.Tabelle (id, daten) values (3, 'Der Baum, berg ist sehr hoch.')
GO

SELECT * FROM dbo.Tabelle WHERE CONTAINS(daten, '"Baumberg"')
SELECT * FROM dbo.Tabelle WHERE CONTAINS(daten, 'Baumberg')

Ähnliche fragen