13. januar 2004 - 11:14Der er
9 kommentarer og 2 løsninger
Microsoft Index Server - Wildcard
Hej
Jeg har et website med en søgefunktion der benytter Microsoft Index Server. Problemet består i, at brugerne skal indtaste den fulde søgefrase for at få et søgeresultat. Søger brugeren på "photo" dukker "photoshop" ikke op .... Det samme hvis brugeren søger på "photo*".
Jeg formoder at det er i min SQL-kode jeg skal tilføje et wildcard. Normalt bruger man jo '% - men åbenbart ikke i dette tilfælde. Er der nogen der kan hjælpe?
Her er koden:
<% Dim sSearchString Dim oQuery
sSearchString = Request.Form("query") if sSearchString = "" then sSearchString = "- because the searchfield was emty" end if
Const SEARCH_CATALOG = "domain.dk" %>
<% Set oQuery = Server.CreateObject("IXSSO.Query")
oQuery.Catalog = SEARCH_CATALOG oQuery.Query = "@all " & sSearchString & " AND NOT #path *grafik* AND NOT #path *psd_files* AND NOT #path *stylesheets* AND NOT #path *templates* AND NOT #filename *.css AND NOT #filename *menu.asp AND NOT #filename *result.asp" oQuery.MaxRecords = 200 oQuery.SortBy = "rank[d]" oQuery.Columns = "DocAuthor, vpath, doctitle, FileName, Path, Write, Size, Rank, Create, DocCategory"
Set oRS = oQuery.CreateRecordSet("nonsequential") %>
<% If oRS.EOF Then Response.Write "No pages were found for the query <i>" & sSearchString & "</i>" Else Do While Not oRS.EOF
Brugeren kan bruge * som jokertegn i søgefeltet. Da jeg ikke ønsker brugeren skal indtaste dette tilføjer jeg * i slutningen af den variabel der indeholder brugerens indtastede søgeord. Som vist herunder:
<% Dim sSearchString Dim sSearchWord Dim sJoker Dim oQuery
sJoker = "*"
sSearchWord = Request.Form("query") if sSearchWord = "" then sSearchWord = "- because the searchfield was emty" end if
sSearchString = sSearchWord & sJoker
Const SEARCH_CATALOG = "bkmedical.dk" %>
<% Set oQuery = Server.CreateObject("IXSSO.Query")
oQuery.Catalog = SEARCH_CATALOG oQuery.Query = "@all " & sSearchString & " AND NOT #path *grafik* AND NOT #path *psd_files* AND NOT #path *stylesheets* AND NOT #path *templates* AND NOT #filename *.css AND NOT #filename *.jpg AND NOT #filename *.gif AND NOT #filename *menu.asp AND NOT #filename *result.asp"
Det har jeg gjort 2 gange nu. Jeg har to knapper lige over det felt hvori jeg nu skriver. Den ene er en "Accepter"-knap. Men jeg formoder at det ikke er sådan jeg skal gøre siden du fortæller mig det igen...?
Jeg har markeret "submitt" - tildelt mig selv de 60 point - og klikket på knappen "Accepter". Jeg fatter ikke hvad jeg mere skal gøre. Fortæl mig det! :-)
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.