[ASP.NET + C#] + MS Sql + zoeken

Pagina: 1
Acties:

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 29-07 17:11
Ik heb op zoek (naar de beste) manier om op mijn website via een formulier een zoekopdracht uit te voeren in mijn ms sql database. Ik heb op dit moment een stored procedure die een LIKE query uitvoerd:
SELECT info FROM titels
WHERE (artiest LIKE '%' + @zoektext + '%' OR titel LIKE '%' + @zoektext + '%')

Allemaal leuk en aardig maar hierdoor wordt alleen een zoekopdracht gedaan aan de hand van 1 woord dat men heeft ingevoerd. Het probleem is echter dat ik wil dat men meerdere keywords kan invoeren om te zoeken. Hierdoor voldoet te LIKE query niet meer (denk ik). Ik kwam toen ergens tegen dat je ook met Full-Text Indexering kunt werken om zoekopdrachten uit te voeren, maar toe stuitte ik op dit probleem:

Ik heb op dit moment de MS SQL Enterprise Manager (8.0) Microsoft Corporation
Version: 8.0 draaien.

Op mijn website wil ik een zoekfunctie inbouwen waarin je meerdere zoekopdracht kan geven naar een database. Hier voldoet de LIKE query volgens mij niet aan omdat je met meerdere zoekopdrachten te maken hebt. Daarom dacht ik om gebruik te maken van de Full-Text Indexing. Het probleem is echter als ik een bepaalde tabel wil indexeren dat in het menu (rechtsklikken op tabel) Full-Text Index Table gedisabled is. In eerste instantie dacht ik dat je daar een bepaalde service voor moest starten maar volgens mij draaien alle nodige services. In de helpfile van MS SQl kan ik niets terug vinden over het 'activeren' van Full-Text Index. Kent iemand dit probleem?


Kort gezegd: heeft iemand een idee hoe je op de meest ideale manier een zoekopdracht kan uitvoeren in een query waarbij de zoekopdracht (textvak) er bijvoorbeeld zo uit kan zien: willem + blaat + meuk

stp - PSN ID: stp_4


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Als je gebruik wilt maken van de Full Text Indexing service, dan zul je die moeten installeren. (Bij de standaardsettigns van een installatie, is die service niet aangevinkt).

Een Full text indexing oplossing zal echter niet echt geschikt zijn voor jouw probleem lijkt me.
Ik denk dat je beter jouw query 'dynamisch' kunt opmaken.

[ Voor 32% gewijzigd door whoami op 17-10-2003 14:28 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je zocht iets als dit ?
Een Full text indexing oplossing zal echter niet echt geschikt zijn voor jouw probleem lijkt me.
Ik denk dat je beter jouw query 'dynamisch' kunt opmaken.
Hoezo? Zijn titel en artiest te beperkt en is Full Text search overkill er voor?

[ Voor 69% gewijzigd door gorgi_19 op 17-10-2003 14:40 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 29-07 17:11
heb net op die site zitten kijken maar lees nergens hoe ik die service kan aanzetten

stp - PSN ID: stp_4


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
stp_4 schreef op 17 October 2003 @ 14:38:
heb net op die site zitten kijken maar lees nergens hoe ik die service kan aanzetten
Je moet ze dus eerst installeren zoals ik al zei, en dan moet je ze starten in SQL Server Agent.

Echter, ik heb die service ook achteraf eens geinstalleerd, aangezet via SQL Server Agent en toen bleek dat ik die toch nog niet kon gebruiken op m'n tabellen.
Als ik in Enterprise Manager rechts klikte op een tabel, dan was die optie nog altijd disabled.
Enige tijd later heb ik m'n SQL Server eens moeten reinstallen, en toen heb ik direct die service meegeinstalleerd, en toen werkte alles perfect.

[ Voor 43% gewijzigd door whoami op 17-10-2003 14:41 ]

https://fgheysels.github.io/


Verwijderd

ja kan de gegevens waar iemand op zoekt toch weer opsplitsen met een array. en dan met een while lus om de query laat je zoeken op de woorden uit de array. lijkt mij :S

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 29-07 17:11
Verwijderd schreef op 17 October 2003 @ 14:44:
ja kan de gegevens waar iemand op zoekt toch weer opsplitsen met een array. en dan met een while lus om de query laat je zoeken op de woorden uit de array. lijkt mij :S
Is inderdaad een optie die ik nu ga uitproberen

stp - PSN ID: stp_4

Pagina: 1