Avatar billede wandaxp Praktikant
09. september 2007 - 01:23 Der er 7 kommentarer og
2 løsninger

Sortering efter relevans?

Jeg mangler at de fundne poster sorteres efter relevans (De ord som søges efter hvis de totalt set findes 5 steder i atabasen skal de komme før en post hvor 1 elelr flere af ordrene kun kommer ialt 4 gange)

Her er koden:

  search = VareKategorien
  set RX = New RegExp
  RX.Global = True
  RX.IgnoreCase = True
  RX.Pattern = "[^\wæøåÆØÅ ]"
  search = RX.replace(search,"")
  searchArr = split(search," ")

  str = "(Beskriv100 like '%"& searchArr(0) &"%' or Beskriv like '%"& searchArr(0) &"%' or Fabrikat like '%"& searchArr(0) &"%' OR VareNr like '%"& searchArr(0) &"%') "
  for f=1 to ubound(searchArr)
      str = str & " or (Beskriv100 like '%"& searchArr(f) &"%' or Beskriv like '%"& searchArr(f) &"%' OR Fabrikat like '%"& searchArr(0) &"%' OR VareNr like '%"& searchArr(f) &"%') "
  next

Hvori denne kode kan man se at den fjerner alle andre tegn end tal og bogstaver?
Avatar billede nielle Nybegynder
09. september 2007 - 08:53 #1
> Hvori denne kode kan man se at den fjerner alle andre tegn end tal og bogstaver?

Det er disse to linjer der tilsammen gør det:

  RX.Pattern = "[^\wæøåÆØÅ ]"
  search = RX.replace(search,"")

Det er \w som gør det - for dette er blot en kort måde at skrive "a-z0-9_" (dvs. din kode sletter faktisk heller ikke _'-tegn).
Avatar billede wandaxp Praktikant
09. september 2007 - 13:59 #2
ok tak, det får du så de 30 point for :-)
Men jeg mangler stadig noget om relevans sorteringen, så dertil smider jeg lige yderligere 40 point :-)
Avatar billede nielle Nybegynder
09. september 2007 - 18:18 #3
Jeg ville gerene hjælpe dig, men jeg kender faktisk ikke rigtig nogen SQL-metode som gør det. :^|
Avatar billede nielle Nybegynder
09. september 2007 - 18:20 #4
Måske skulle du tage at flytte spørgsmåplet over i en af database kategorierne ... det er i hvert fald sikkert at en eventuel løsning afhænger kraftigt af hvilken type base du snakker om.
Avatar billede wandaxp Praktikant
09. september 2007 - 22:10 #5
Jeg tror faktisk ikke databasen kan finde ud af det, da det kun er en lille Access database, jeg kunne ellers bedre forestille mig at det var noget ASP der skulle tælle det sammen?
Men det kan da være det er databasen?
Avatar billede nielle Nybegynder
09. september 2007 - 23:04 #6
Hvis det skal sorteres efter at det er trukket ud af basen bliver det tungt beregningsmæssigt såvel som hukommelsesmæssigt. Hvor tungt afhænger selvfølgeligt af hvor mange rækker der egentlig bliver fundet pr. søgning.
Avatar billede wandaxp Praktikant
09. september 2007 - 23:37 #7
Kom med et svar og du har scoret 50 point for dette :-)
Avatar billede nielle Nybegynder
10. september 2007 - 06:53 #8
Svar :^)
Avatar billede wandaxp Praktikant
02. oktober 2009 - 17:58 #9
Hvordan kan man i denne streng også få med så - (minus tegnet) også er gyldig i søge strengen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester