Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med query, till en sökmotor

Postades av 2003-05-24 11:42:39 - Joakim Lamkiewicz, i forum asp - allmänt, Tråden har 17 Kommentarer och lästs av 601 personer

Hej!

Undrar om någon kan hjälpa mig med följande problem.
Har skapat en sökmotor till en informationssajt jag producerat.
Varje sida på sajten har unika sökord som sparats via ett formulär i en databas.
Tabellen i databasen har fälten ID, Date, PageKeywords, PageDescription, PageHeadline, PageText.

Mitt problem är att sökmotorn inte ger de träffar som den ska, den fungerar alltså men ger inte rätt träffar. Ex en sida har sökorden "om oss". Söker man på "om" får man träff, söker man på "oss" får man träff, söker man "om oss" får man träff. MEN, söker man ex på "oss om" får man ingen träff. Söker man på "om och oss" får man ingen träff heller fastän orden finns med.

Någon som kan se fel i denna kod?
(Behövs mer än det jag klistrat in, säg till!)
<code>
<%
Dim SearchKeywords__MMColParam
SearchKeywords__MMColParam = "1"
If (Request.Form("PageKeywords") <> "") Then
SearchKeywords__MMColParam = Request.Form("PageKeywords")
End If
%>
<%
Dim SearchKeywords
Dim SearchKeywords_numRows

Set SearchKeywords = Server.CreateObject("ADODB.Recordset")
SearchKeywords.ActiveConnection = MM_IPE_STRING
SearchKeywords.Source = "SELECT ID, PageHeadline, PageKeywords, PageDescription FROM Page WHERE PageKeywords LIKE '" + Replace(SearchKeywords__MMColParam, "'", "''") + "'"
SearchKeywords.CursorType = 0
SearchKeywords.CursorLocation = 2
SearchKeywords.LockType = 1
SearchKeywords.Open()

SearchKeywords_numRows = 0
%>
</code>

Där det står
<code>WHERE PageKeywords LIKE </code>
har jag testat med
<code>WHERE PageKeywords = </code>
Men det fungerar inte heller.


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 17:33:04 - Jonas Sjöblom

WHERE PageKeywords LIKE '" & Replace(Replace(SearchKeywords__MMColParam, "'", "''")," ","%") & "'

men det är inte säkert att det funkar heller... mend et får dej närmare resultatet du vill uppnå åtminstone:)


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 18:09:35 - Joakim Lamkiewicz

Tack för svaret!
(Tror det saknades ett " på slutet av raden men det lade jag till)

Men det blev nog inte bättre tyvärr.

Nu får jag träff om jag söker på ex "om oss".
Inte om jag skriver "om" endast.
Men den ger träff på "om ss" t ex. (??)

Och en sida som har sökorden "Sökord, sökord, sökord" inlagt som sökord får jag inte träff på om jag skriver "sökord" men däremot får jag träff om jag skriver "sökord, sökord" två gånger av de tre som är inlagda.

Förstår inte riktigt hur den söker nu.....

Var ligger felet??


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 18:34:05 - Jonas Sjöblom

just det.. glömde ju lite


WHERE PageKeywords LIKE '%" & Replace(Replace(SearchKeywords__MMColParam, "'", "''")," ","%") & "%'"


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 18:45:13 - Joakim Lamkiewicz

då får jag error:

Microsoft VBScript compilation error '800a0411'

Name redefined

/ipe/results.asp, line 106

Dim SearchKeywords
----^


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 21:09:40 - Oskar Johansson

Den kodsnutten förekommer två eller flera gånger, ta bort ala förutom den första...


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-24 21:54:13 - Joakim Lamkiewicz

tack för svaret, men det funkar inte fortfarande...

man får fortfarande inte träff på ex "om och oss" på en sida som har sökorden "om oss". "om" ger träff. "oss" ger träff. Men inte så fort man blandar in andra ord eller har fel ordföljd. Måste skrivas exakt, eller ett av orden.

Vore väldigt tacksam för mer hjälp!


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-25 11:49:40 - Andreas Hillqvist

<code>
<%
Dim rs
Dim con
Dim strSQL
Dim strWhere
Dim strTemp
Dim KeyWord
Dim KeyWords
strTemp = Trim(Request.Form("PageKeywords"))
If Len(strTemp) > 0 Then
KeyWords = Spilt(strTemp, " ")
For Each KeyWord In KeyWords
If Len(KeyWord) > 0 Then
strWhere = strWhere & " AND PageKeywords Like '*" & Replace(KeyWord, "'", "''") & "*'"
End If
Next
If Len(strWhere) > 0 Then
strSQL = "SELECT ID, PageHeadline, PageKeywords, PageDescription FROM Page WHERE " & Mid(strWhere, 6)

Set con = Server.CreateObject("ADODB.Connection")
con.Open MM_IPE_STRING

Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 2
rs.Open strSQL, con, 0, 1
If rs.EOF Then
Response.Write "No records found!"
Else
Do Until rs.EOF
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing

con.Close
Set con = Nothing
Else
Response.Write "You have not enterd any keywords!"
End If
Else
Response.Write "You have not enterd any keywords!"
End If
%>
</code>


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-25 15:17:44 - Joakim Lamkiewicz

Tack än en gång!
Trevligt att se att så många är villiga att hjälpa till.
Trodde det skulle bli mitt sista tack men det fungerar tyvärr inte fortfarande.
Rättade först till en felstavning, "spilt" till "split".

Men sen får jag följande fel när jag söker på existerande sökord:

<code>No records found!
Microsoft VBScript runtime error '800a01a8'

Object required: 'SearchKeywords'

/ipe/results.asp, line 71 </code>

Eller när jag gör en sökning utan att skiva in något alls i sökfältet:

<code>You have not enterd any keywords!
Microsoft VBScript runtime error '800a01a8'

Object required: ''

/ipe/results.asp, line 71 </code>


Vill någon se koden och/eller sidan in action, säg bara till!

Hoppas någon kan hjälpa mig vidare.


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 10:53:53 - Joakim Lamkiewicz

ingen som har någon mer idé?
Hade varit väldigt tacksam om någon kan hjälpa mig att lösa denna funktion...


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 12:05:44 - Andreas Hillqvist

Testa med:
<code>
<%
Dim rs
Dim con
Dim Index
Dim strSQL
Dim strWhere
Dim strTemp
Dim KeyWord
Dim KeyWords
strTemp = Trim(Request.Form("PageKeywords"))
If Len(strTemp) > 0 Then
KeyWords = Split(strTemp, " ")
For Index = 1 To UBound(KeyWords)
KeyWord = KeyWords(Index)
If Len(KeyWord) > 0 Then
strWhere = strWhere & " AND PageKeywords Like '*" & Replace(KeyWord, "'", "''") & "*'"
End If
Next
If Len(strWhere) > 0 Then
strSQL = "SELECT ID, PageHeadline, PageKeywords, PageDescription FROM Page WHERE " & Mid(strWhere, 6)

Set con = Server.CreateObject("ADODB.Connection")
con.Open MM_IPE_STRING

Set rs = Server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 2
rs.Open strSQL, con, 0, 1
If rs.EOF Then
Response.Write "No records found!"
Else
Do Until rs.EOF
rs.MoveNext
Loop
End If
rs.Close
Set rs = Nothing

con.Close
Set con = Nothing
Else
Response.Write "You have not enterd any keywords!"
End If
Else
Response.Write "You have not enterd any keywords!"
End If
%>
</code>


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 12:39:47 - Jarle Skogheim

Prova byta ut AND med OR. Sen skall det kanske vara % istället för * kring sökorden?


// Jarle


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 15:30:20 - Joakim Lamkiewicz

tack än en gång, gjorde de ändringar som föreslogs men det ger fortfarande error:

<code>
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/ipe/results.asp, line 34
</code>

Hela aspkoden som jag söker hjälp med finns att se här:
http://www.lamko.nu/temp/kod.txt

Med förhoppning om att någon kan hjälpa mig.


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 15:35:18 - Jarle Skogheim

Byt ut: Mid(strWhere, 6) till Mid(strWhere, 5)

du har bytt AND till OR vilket medför att du bara skall klippa bort de 4 första tecknen (börja på 5:e tecknet) på strängen (och inte 5 som det var med AND).

PS. Snygg hemsida! :-)


// Jarle


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 15:56:54 - Joakim Lamkiewicz

Jasså, du passade på att kolla in hemsidan också! Tack!

Dock får jag error på sökmotorn fortfarande:

<code>Microsoft VBScript runtime error '800a01a8'

Object required: 'SearchKeywords'

/ipe/results.asp, line 71
</code>

Nån ide?

Och vaddå kapa första 4 tecknen?
Vad innebär det?

Tack!


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 16:33:48 - Jarle Skogheim

Tror du har ett fel i din sida:

<code>
' set the record count
SearchKeywords_total = SearchKeywords.RecordCount
</code>

Kan inte hitta att du har någonting som heter bara 'SearchKeywords', så kompilatorn hittar väl inget objekt den kan göra RecordCount på. Ser du har använt det länger ned på sidan också. Det är kanske det recordesettet du kallar rs längre upp?


Mid(strWhere, 5) tar strängen strWhere och kopierar den till slutet på strSQL, men börjar kopiera på det tecknet du anger (5).

strDestination = Mid(strSource, 5)


// Jarle


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-26 19:15:02 - Joakim Lamkiewicz

Hmmm, det beror på att min ursprungliga kod har delvis bytts ut med kodexempel jag fått här. Så det är lite blandat nu tror jag.

Jag har återställt koden till den ursprungliga, som det var när jag skrev mitt inlägg högst upp. Och med de problem jag hade då. Jag har lagt upp koden (för hela sidan) på samma url som tidigare och jag vore väldigt tacksam om du (eller någon annan) vill titta på den och se om något kan göras för att få till sökningen/träffarna. Kan select-satsen skrivas om på något sätt? (Fel tecken/variabler?)

http://www.lamko.nu/temp/kod.txt


Svara

Sv: Problem med query, till en sökmotor

Postades av 2003-05-29 09:52:40 - Joakim Lamkiewicz

Vill tacka alla för hjälpen i detta ärende (som jag för övrigt postat 2 gånger i forumet).
Jag har nu äntligen fått ordning på sökmotorn, först med vissa exempel härifrån som grund och sedan utveckling/hjälp från 2 vänner.

Som jag nämnt tidigare så tycker jag att det väldigt kul att se att så många är villiga att hjälpa till när man slänger ut ett problem via ett forum. En eloge till dom som engagerade sig!

Tack igen!

PS. För de nyfikna kommer denna sökmotor att finnas på en sajt för "Info Point Europa" inom kort. Den ligger inte online just nu, men inom några dagar kommer den att finnas tillgänglig på www.ipe.se. Är någon sen intresserad av att se lösningen bakom sökmotorn så kan ni höra av er till mig via Pellesoft.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 799
27 960
271 761
2 563
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies