5 Stimmen

Beste Methode zur Suche in einer varchar-Spalte in Sql-Server

Was würden Sie empfehlen, um eine Sql Server Tabelle (varchar(max) Spalte) nach einem Begriff zu durchsuchen?

Wenn Sie z. B. bei ebay nach "wii brand new" suchen, erhalten Sie Ergebnisse wie "Brand New Nintendo Wii Fit Game + Balance Board Bundle", "Wii Fit (Wii) BRAND NEW WII FIT GAME + BALANCE BOARD".

Ich denke, es sucht im Grunde jedes Wort und gibt die, die alle Wörter enthält, was würden Sie empfehlen?

5voto

Vinko Vrsalovic Punkte 252104

Sie sind auf der Suche nach einer Volltextindizierung, die Ihnen fortgeschrittenere Abfragen als reguläre Ausdrücke oder ähnliches ermöglicht.

Siehe este Artikel für eine schnelle Einführung, die Anweisungen sind für SQL Server 2000, wo es ein wenig schwieriger zu installieren ist als in 2005 oder 2008.

Einschlägiges Zitat:

 With full-text searching, you can perform many other types of search:

 \* Two words near each other
 \* Any word derived from a particular root (for example run, ran, or running)
 \* Multiple words with distinct weightings
 \* A word or phrase close to the search word or phrase

2voto

Matt Brown Punkte 482

Das hängt davon ab, was Sie erreichen wollen. Für eine einfache Suche könnten Sie einfach Folgendes tun select * from table where field like '%word%' . Wenn es sich aber um eine Anwendungsfunktion handelt, sollten Sie eine Volltextsuchanwendung in Betracht ziehen. Sie kann Wörter, die in diesem Feld vorkommen, als Indizes speichern und dann über diese Wörter suchen, anstatt das Feld zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X