Söktjänst, sortera förekomsten av sökord

ASP

2 svar · 231 visningar · startad av P@ttan

Medlem sedan okt. 20052 inlägg
Trådstart#1

HEj.
Har skapat en söktjänst som söker igenom en databas (SQL server 2000) efter företag och deras produkter.
Allt fungerar kanon men alla träffarna är idag sorterade efter företagsnamnet i en alfabetisk lista. Vill att den ska vara lite smartare än så. Tänkte mig att den skulle räkna antalet träffar på sökordet för varje företag och sortera efter det.

Jag har genom en sql fråga tagit fram alla företag som innehåller sökordet. Resultatet får jag sedan i en två-dimentionell array via GetRows().

Jag förmodar att man måste loopa igenom denna array och räkna sökordet. Men vart spara resultatet. och inte minst hur sorterar man arrayen sedan.

Har varit inne lite på att man kan göra det direkt i SQL-frågan. Hitta detta:

select * from t
   where falt like '%sökord%'
  order by (len(falt)-len(replace(falt,'sökord',''))/len('sökord') desc

Detta ska tydligen räkna ut förekomsten av sökordet. Underbart tänkte jag men när jag kör det så får jag följande fel
Error: Argument data type ntext is invalid for argument 1 of len function.

Så. Där är jag nu. Hur går jag vidare för att sortera efter antal förekomster av sökordet?

Medlem sedan okt. 20041 556 inlägg
#2

Fråga: varför har du ntext-format?
ntext är unicode.

Medlem sedan okt. 20052 inlägg
#3

Bra fråga. Det är inte jag som från grunden skapat databasen. Så jag vet inte varför..

271 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)