webForumDet fria alternativet

Ordning på utsökningsord i sökmotor, typ

Databaser & SQL

8 svar · 307 visningar · startad av Cri11e

Medlem sedan aug. 200235 inlägg
Frågan#1

Hej,

Vet inte rikgit om detta har tagits upp förut då jag inte vet vad jag ska söka på.

Här är mitt problem:

Jag har en sökfunktion som söker artiklar ur en databas. I databasen finns exempelvis en titel på en artikel som heter "Blå Ford Fiesta, något rostig". Om jag nu söker på endast "Ford" eller "Fiesta" så är det inga problem. Inte heller om jag söker på "Blå Ford", alltå om mina sökord är i samma ordning som i titeln. Jag vill t.ex. kunna söka på "Ford Rostig Blå", alltså i en annan ordning än orden angivits i titeln.

Så här långt har jag kommit:

SELECT title FROM products WHERE title LIKE '%Ford%Rostig%Blå%'

Är jag helt ute och cyklar? :)

Medlem sedan dec. 20003 887 inlägg
#2

Du får separera sökorden en aning...

SELECT title
FROM products
WHERE title LIKE '%Ford%' OR title LIKE '%Rostig%' OR title LIKE '%Blå%'
Medlem sedan dec. 200012 464 inlägg
#3

Är det inte bättre med AND istället för OR?

Medlem sedan aug. 200235 inlägg
#4

Men om jag nu har en sträng som består av X antal sökord, måste jag ändå dela upp dom?

Medlem sedan dec. 20003 887 inlägg
#5

LarsG skrev:

Är det inte bättre med AND istället för OR?

Det beror ju förståss på sökvillkoren...

Cri11e skrev:

Men om jag nu har en sträng som består av X antal sökord, måste jag ändå dela upp dom?

Jepp. Det kommer du inte undan...

Medlem sedan maj 2002821 inlägg
#6

Och hur delar man upp sökorden? Med en array? Visa med kod tack. Det kan ju vara ganska många sökord om någon skriver in en hel mening.

Medlem sedan dec. 20003 887 inlägg
#7

På en höft :)

strColumn = [i]sökfält[/i]
arrSearch = split( [i]sökord[/i] )

for idxWord = 0 to ubound( arrSearch )
  arrSearch( idxWord ) = strColumn & " like %" & arrSearch( idxWord ) & "%"
next

strSearchCriteria = join( arrSearch, " and " ) '[blue] eller OR...[/blue]

strSql = "select * from [i]tabell[/i] where " & strSearchCriteria
Medlem sedan dec. 200012 464 inlägg
#8

I vb-script finns funktionen split.

Medlem sedan maj 2002821 inlägg
#9

Nevermind

Det fixade sig...

274 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
140 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)