Søg i felt i mssql

Tags:    mssql like search

Hej.

Jeg er i gang med at lave en søgefunktion men har et problem jeg ikke lige kan finde en løsning på.

Jeg har en form på min side, som når man submitter den laver en søgning i min database.

Mit problem er at hvis jeg søger på f.eks vaskemaskiner så får jeg også opvaskemaskiner frem. Grunden til at jeg også får opvaskemaskiner er at jeg bruger like i min query

Fold kodeboks ind/udSQL kode 


Jeg bruger like med wildcards på begge sider da det jeg søger i er en beskrivelse. Jeg kunne godt tænke mig at den kun fandt de beskrivelser hvor der står vaskemaskiner og ikke dem hvor der står opvaskemaskiner. samtidig skal man kunne søge på vaskema og så finder den også alle dem med vaskemaskiner.

Håber i forstår hvad det er jeg godt kunne tænke mig, og at der er nogle som kan pege mig i den rigtig retning :)



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Hvis vaskemaskiner altid står for sig selv i beskrivelsen kan du jo bare putte et mellemrum rundt om:

Fold kodeboks ind/udSQL kode 


For det er jo den måde som like virker på.

*edit*

Det pæneste var måske, at lave en kategori som man kunne vælge ved søgning. En dropdown-box med "Alle", "Vaskemaskiner", "Opvaskemaskiner", etc. og så sætte kategori på alle dine "varer".



Indlæg senest redigeret d. 23.03.2012 17:02 af Bruger #9814
ja, ved godt jeg kan sætte et mellemrum foran. Men hvad så hvis vaskemaskiner er det første ord. så finder den jo ikke noget?



Jamen, sådan virker fritekstsøgninger jo. Jeg ville altid lave søgningen som du har lavet i dit første indlæg, hvis det er fritekst - altså uden mellemrum.



Kan man heller ikke med noget regex få den til at søge i vært ord fra begyndelsen?



Regex er for langsomt til det har jeg erfaret. Jeg ville hellere samle flere søgninger som f.eks.

Fold kodeboks ind/udSQL kode 






Okay, det vil jeg så prøve. Tak for hjælpen :)



t