webForumDet fria alternativet

Hjälp med indexserver

ASPur ASP

12 svar · 203 visningar · startad av qwerty

Medlem sedan jan. 2001391 inlägg
Frågan#1

Hej!

Jag har fått indexserver installerat på servern. Hur får jag min sökmotor att utnyttja detta? Har försökt söka i forumen men inte hittat något som hjälper mig.

Snälla någon.

Alltså: Vad ska jag ha för action i formuläret?

------------------
Qwerty

Den som provar han testar...

[Redigerat av qwerty den 27 apr 2001]

Medlem sedan jan. 2001391 inlägg
#2

Är det ingen som kan detta?

Man skulle kunna säga att det är lite panik...

------------------
Qwerty

Den som provar han testar...

Medlem sedan juni 2000277 inlägg
#3

Hej

Gör en vanlig form sida på sidan som skall visa funna dokument kan i sitt enklaste utförande se ut så här:

<html> ... osv
<%
dim q, rs

Set q=Server.CreateObject("ixsso.Query")
q.query=Request.Form("txt")
q.Columns="filename,vpath,DocTitle"
q.Catalog="c:\inetpub"
q.MaxRecords=50
set rs=q.CreateRecordset("nonsequential")
do until rs.eof
%>
<a href="<%=rs("vpath")%>"><%=rs("DocTitle")%></a><br>
<%
rs.MoveNext
Loop
%>

...</html>

------------------
/peterbladh

Medlem sedan jan. 2001391 inlägg
#4

Tjena!

Får följande felmess:

CreateRecordset error 'c0004002'
The Query property was not set.
/sok.asp, line 22

line 22 är:

set rs=q.CreateRecordset("nonsequential")

------------------
Qwerty

Den som provar han testar...

Medlem sedan juni 2000277 inlägg
#5

hm, jag testade koden själv först innan jag skickade den och här fungerar det. Men kolla att din textruta heter txt (på form-sidan). Kolla också att indexservern verkligen är startad och att katalogen är c:\inetpub.
Det där "The Query property was not set" är ett något kryptiskt felmeddelande som kan dyka upp lite när som när man jobbar med indexservern.

Lycka till!

------------------
/peterbladh

Medlem sedan jan. 2001391 inlägg
#6

Nej, funkar inte.

Så här ser hela sidan ut. Jag har säkert gjort nån idiot-miss. Har du lust att titta på koden?

<body bgcolor="#FFFFFF">
<form name="form1" action="sok.asp">
  sök: 
  <input type="text" name="txt">
  <input type="submit" name="Submit" value="Skicka">
</form>

<%
                                         dim q, rs

                                         Set q=Server.CreateObject("ixsso.Query")
                                         q.query=Request.Form("txt")
                                         q.Columns="filename,vpath,DocTitle"
                                         q.Catalog="c:\inetpub" 
                                         q.MaxRecords=50
                                         set rs=q.CreateRecordset("nonsequential")
                                         do until rs.eof
                                         %> 
<p><a href="<%=rs("vpath")%>"><%=rs("DocTitle")%></a><br>
  <%
                                         rs.MoveNext
                                         Loop
                                         %> </p>
</body>

------------------
Qwerty

Den som provar han testar...

[Redigerat av qwerty den 30 apr 2001]

Medlem sedan jan. 2001391 inlägg
#7

ingen som kan?

------------------
Qwerty

Den som provar han testar...

Medlem sedan juni 2000277 inlägg
#8

Är det där en och samma sida? I så fall förstår jag att det inte funkar nr den laddas. för request.form("txt") får inte vara "tom" (vet inte varför, men det verkar vara så).

Som sagt; är index servern verkligen igång? finns det någon catalog och är den då satt till c:\inetpub ? Finns det några indexerade directorys?

------------------
/peterbladh

Medlem sedan jan. 2001391 inlägg
#9

Fick igång det!

...med ett exempel som jag hittade under index server på www.iisfaq.com

Ett problem bara. Den listar typ hur många träffar som helst, och allt på samma sida. Man behöver väl inte göra som en vanlig paging utan det finns väl funktioner (i index server) för att begränsa antalet träffar och hur många som ska visas på varje sida?

Här kommer koden, vore kul om nån kunde tipsa mig om hur jag ska begränsa antalet träffar:

<%
session.LCID=1050
lcErrorMsg = ""
Set rs = RunQuery(Request.QueryString("query").Item(),Request.QueryString("virtual").item())
if TypeName(rs) <> "Recordset"  then
   lcErrorMsg = "Din sökning gav inga resultat.<br>Försök gärna igen."
end if

function RunQuery(lcQuery,lcVirtual) 

if TypeName(lcVirtual) <> "String" then
        lcVirtual = "/"
end if  
if TypeName(lcQuery) <> "String"  then
        Set RunQuery = nothing
    Exit Function
end if
    
Set oQ=Server.CreateObject("ixsso.Query")
oQ.query = lcQuery
oQ.columns = "DocTitle,vpath,hitcount,size,write,characterization,rank"
oQ.SortBy = "hitcount[d]"

Set oU=Server.Createobject("ixsso.util")

'*** Add only a few directories for searching
oU.AddScopeToquery oQ,"/","shallow"
oU.AddScopeToquery oQ,"/dokument","deep"

Set rs=oQ.CreateRecordset("nonsequential")

if TypeName(rs) <> "Recordset" then
   Set RunQuery = nothing
   exit function
end if   

if rs.RecordCount < 1 then
        Set RunQuery = nothing
else   
        ' Return result RecordSet
        Set RunQuery = rs
end if  

End Function
%>
</head>

<body bgcolor="#FFFFFF">
 

<% If LEN(lcErrorMsg) > 0 then %> 
  <%= lcErrorMsg %>  
<% Response.End
   end if
%>
<p>
<p><span class="header" style="color:DarkRed"> Din sökning gav <%= rs.recordcount %> 
  resultat...</span></p>
<p> 
<blockquote> 
  <table width="90%"  class="body">
    <% do while not rs.eof %> 
    <tr> 
      <td><b><%= rs.Fields("DocTitle")%></b></td>
    </tr>
    <tr> 
      <td><a href="<%= rs.Fields("vPath")%>"><%= rs.fields("vPath")%></a></td>
    </tr>
    <tr> 
      <td><%= rs.Fields("characterization") %><br>
        <b>Träffar: <%= rs.Fields("hitcount")%> Senast uppdaterad: <%= rs.Fields("write") %></b> 
        <hr>
      </td>
    </tr>
    <%rs.MoveNext
  loop%> 
  </table>

------------------
Qwerty

Den som provar han testar...

[Redigerat av qwerty den 02 maj 2001]

Medlem sedan juni 2000277 inlägg
#10

oQ.MaxRecords

------------------
/peterbladh

Medlem sedan jan. 2001391 inlägg
#11

Kan man begränsa antalet träffar per sida på något liknande sätt, eller måste man göra en paging själv?

------------------
Qwerty

Den som provar han testar...

Medlem sedan maj 200124 inlägg
#12

Om du använder dig av statiska frågor
så får du paging automatisk.

Använder du asp som du gör i detta fall så måste du koda allt paging själv.

Medlem sedan jan. 2001391 inlägg
#13

...och med statiska frågor menar du?

------------------
Qwerty

Den som provar han testar...

134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)