Avatar billede orca Nybegynder
16. august 2005 - 23:11 Der er 1 kommentar og
1 løsning

Avanceret søgning

Hej

Jeg har en tabel med et antal rækker, den vil formentligt ikke komme meget over 10.000, men den vil ligge deroppe af. Tabellen indeholder en del felter, hvoraf der skal søges i en række tekstuelle felter så som navn, beskrivelse, genre osv.

Dette er løst vha. en normal full text search som har bygget sit catalog ud fra de søgbare felter.

Mit problem kommer dog i og med at der i original tabellen er andre felter som spiller en rolle mht. hvor højt rangeret søgeresultaterne skal forekomme. F.eks har de en rate fra 1-10, som alt efter hvor høj den er skal give et plus til den enkelte rækkes search rank. På samme måde er der en bit kolonne som ligeledes skal tælle som et plus såfremt den er sand.

En anden detalje som også ville være rar, var såfremt det var muligt at vægte de individuelle kolonner. Således tæller det meget højere hvis søgestrengen blev fundet i name kolonnen, frem for i description kolonnen. Dette er dog på ingen måde livs nødvendigt, det er ovenstående problemstilling derimod.

Jeg modtager med kyshånd hints til hvorledes en sådan vægtet søgning kan implementeres.
Avatar billede orca Nybegynder
16. august 2005 - 23:29 #1
Jeg kommer lige med min nuværende tanke, som jeg dog ikke har efterprøvet på nogen måde endnu.

Jeg foretager en søgning via enten CONTAINSTABLE eller FREETEXTTABLE og nummererer de returnerede rækker 1,2,3...n (hvorledes kan dette gøres?) Således at den første/øverste række har nummer 1, og den nederste har nummer n. Herefter kan jeg udregne en "bonus" procentsats som hver række får tildelt, baseret på de forskellige kolonner som har indflydelse på search ranken. Dvs. at de sidste kolonner (som automatisk er med den dårligste full text match) vil ikke kunne komme op og konkurrere med de øverst returnerede rækker på nogen måde, om så de fik en search rank bonus på 100%, hvorimod rækker i midten vil få større indflydelse ved en bonus på 20-50%. Jo tættere på toppen vi kommer, jo større betydning vil search rank bonusen have, hvilket kun kan være godt da de øverste rækker naturligvis er dem som har matchet full text søgningen bedst, og altså oftest vil være de korrekte søgeresultater.
Avatar billede orca Nybegynder
10. september 2005 - 21:51 #2
Lukker
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
Computerworld tilbyder specialiserede kurser i database-management

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