Avatar billede computopic Nybegynder
14. maj 2004 - 21:58 Der er 9 kommentarer og
2 løsninger

Søgning på en stript af flere ord.

Nogen der ved hvordan jeg kan udforme min sql sætning så jeg kan søge på en string af flere ord den så skal søge på.. Hvis bare et af ordne findes i den søgte kollonne er det ok.
Avatar billede arne_v Ekspert
14. maj 2004 - 22:01 #1
Måske:

SELECT * FROM tabel WHERE felt IN ('ord1','ord2','ord3');
Avatar billede twm Nybegynder
14. maj 2004 - 22:01 #2
SELECT * FROM dintable WHERE tekstfelt like '%ditførsteord%' or tekstfelt like '%ditandetord%'
Avatar billede computopic Nybegynder
14. maj 2004 - 22:11 #3
arne v>> Løsningen virker ikke da man ikke kan bruge wilecards.. og det skal den kunne da det er en søgefunktion.
TWM>> Den løsning har jeg også tænkt på, men den giver desvære en del kode.. Tænkte om der ikke var en kode med denne syntax: SELECT * FROM tabel WHERE felt ** ('per jens ole');
Hvir den så retunere hvis et af ordne eksisterede..
Avatar billede arne_v Ekspert
14. maj 2004 - 22:15 #4
Hvad med:

WHERE ' per jens ole ' LIKE CONCAT('% ',felt,' %')

?
Avatar billede twm Nybegynder
14. maj 2004 - 22:20 #5
Avatar billede twm Nybegynder
14. maj 2004 - 22:21 #6
SELECT * FROM dintable WHERE MATCH (body)AGAINST ('+detførsteord +detandetord' IN BOOLEAN MODE);
Avatar billede twm Nybegynder
14. maj 2004 - 22:21 #7
Du skal huske at lægge et fulltext index på dit felt
Avatar billede twm Nybegynder
14. maj 2004 - 22:34 #8
Hvor 'body' et dit feltnavn
Avatar billede computopic Nybegynder
14. maj 2004 - 23:02 #9
Jo flere ord man skrive, jo mere præcis bliver søgningen..
Virker en af overstående sætninger sådan?
Avatar billede arne_v Ekspert
14. maj 2004 - 23:23 #10
Vil du have en ranking efter antal matches ?

Det kan mit forslag ihvertfald ikke klare.
Avatar billede computopic Nybegynder
14. maj 2004 - 23:35 #11
Brugte TWM's første løsning med lidt tilføjelser af AND/or og så kom det til at virke..
Splittede min string der indeholder søgeord op i et array. Løber arrayet igennem med en lykke og danne tekstfelt like '%array[$key]%' or tekstfelt like '%array[$key]%%'

Håber det gav mening.. det virker ihvertgfald.

Nu bliver søgningen mere præcis jo flere ord man skriver..
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