Ga naar inhoud

[ASP] Zoekfunctie: ordenen op relevantie


anoniem

Aanbevolen berichten

Ik ben bezig met een zoekfunctie voor mijn internetpagina: http://62.251.28.184/test Als een gebruiker een bepaalde string invoert om te gaan zoeken, wordt die string opgesplitst in woorden en wordt er op alle woorden (AND) gezocht in de (access) database. Het volgende is mijn probleem: Hoe kan ik de resultaten ordenen, zodat het resultaat dat het meest overeenkomt het eerst wordt getoond en zo verder? Om het geheel wat te verduidelijken volgt hieronder een stukje script: Dim searchwordsarray searchwordsarray=Split(Trim(searchval)," ") x=0 sql="select * from scripts where approved='YES' and (scriptname like '%"& searchwordsarray(0) &"%' " For x=1 to UBound(searchwordsarray) sql=sql & "and scriptname like '%"& searchwordsarray(x) &"%' " x=x+1 Next x=0 sql=sql & "or description like '%"& searchwordsarray(0) &"%' " For x=1 to UBound(searchwordsarray) sql=sql & "and description like '%"& searchwordsarray(x) &"%' " x=x+1 Next sql=sql & "or author like '%"& searchval &"%')" Ik hoop dat iemand het weet, want op aspin.com en hotscripts kon ik ook al niks vinden. Mvg, Mark.
Link naar reactie
Ik snap het niet precies, want de enige resultaten die eruit komen zijn MET a EN b EN c dus zowiezo al weinig... Jij bent de enige die weet wat de relevantie van een bepaald artikel is. Misschien kun je een veld in de tabel erbij doen met een relevantiewaarde, misschien een optelsom doen met alle sleutelwoorden, en dan daarop sorteren in een uitgebreidere query.
Link naar reactie
Stukkie code: [code:1:72ffcbc13d] For intIndexPosition = 1 To (intTotalFilesFound - intPassNumber) 'Place the Result being sorted in a temporary variable intTempResultsHold = sarySearchResults(intIndexPosition,1) 'Place the Number of Matches for the result being sorted in a temporary variable intTempNumMatchesHold = sarySearchResults(intIndexPosition,2) [/code:1:72ffcbc13d] Ik hoop dat je daar wat mee kan... De variable die worden genoemt, kan je zelf wel veranderen denk ik, ze hebben een logische naam...
Link naar reactie
[quote:374db2d69f="M. Prijs"]Nee, dat bedoel ik niet. Ik bedoel in hoeverre de zoekterm overeenkomt met de gevonden records. Een woord in de zoekterm kan bijvoorbeeld 3x voorkomen in een record, die wil ik dan eerst tonen en daarna de records waarin het woord maar 2 of 1 keer voorkomt...[/quote:374db2d69f] Ik heb een opmerking ivm je webserver M. Prijs geef ff je mail adres, want dit is niet handig om zo op het forum te posten
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...