Toon posts:

[index server] HTML/ASP searchform...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb op mn IIS indexserver draaien, catalogus aangemaakt...en op de server de query getest. Alles werkt, geen probleem.

Maar nu wil ik dus middels 'n searchform op 'n intranet gaan zoeken in de catalog.
Dit lukt me dus niet, ik krijg geen results!

ip: 10.201.0.88
Catalogname: qa_weert
Location: F:\www\catalogs

Deze "search.asp" gebruik ik:
code:
1
2
3
4
<form name="frmSearch" action="search_results.asp" method="post">
   Search : <input type="text" name="txtSearch" size=50 maxlength=50> 
   <input type="submit" value="search">
</form>


Deze "search_results.asp" gebruik ik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<body>
<%

1strSQL = "SELECT filename,size,path FROM SCOPE() WHERE (path LIKE '%" & Request("txtSearch") & "%')" 

Set dbConnection = Server.CreateObject("ADODB.Connection")
Set rsRecordSet = Server.CreateObject("ADODB.RecordSet")
dbConnection.Open 2"provider=msidxs;Data Source=qa_weert;"
rsRecordSet.Open strSQL,dbConnection
if not(rsRecordSet.EOF and rsRecordSet.BOF) then
while not rsRecordSet.EOF
output = output & rsRecordSet("filename") & "<br>" 
output = output & rsRecordSet("size") & "<br>" 
output = output & rsRecordSet("path") & "<br>" 
output = output & "<hr>" 
rsRecordSet.MoveNext
wend
else
output = "No Results"
end if
Response.Write(output)
rsRecordSet.Close
dbConnection.Close
%>
</body>


Weet iemand waar de fout zit, of heeft 'n ander ASP of HTML code...die werkt met Index Server?

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 08-02 14:55

dominic

will code for food

2 puntjes:

- Wat doet het getal 2 voor "provider=msid....."
- Waarom test je op not rsRecordSet.BOF, deze is ongetwijfeld true wanneer je recordset niet leeg is..

[ Voor 16% gewijzigd door dominic op 19-02-2004 10:43 ]

Download my music on SoundCloud


Verwijderd

Topicstarter
Ik heb deze 'sample searchpage' van het web gehaald, hierin zou alleen de catalogname veranderd moeten worden. Ik kan je dus ook niet uitleggen waarom die 2 er staat.
Ik hou me dus sterk aanbevolen voor iemand die zijn asp of html-searchpage code wilt posten. Wellicht dat er dan meer kan op slagen is.

  • leon1e
  • Registratie: December 2000
  • Laatst online: 21:29
Try this:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%@ Language="VBScript" %>
<% Option Explicit %>

<%
Dim strQuery   ' The text of our query
Dim strFile    ' The text of our query file
Dim objQuery   ' The index server query object
Dim rstResults ' A recordset of results returned from I.S.
Dim objField   ' Field object for loop

' Retreive the query from the querystring
strQuery = Request.QueryString("query")
strFile = Request.QueryString("file")

' If the query isn't blank them proceed
If strQuery <> "" Then
    ' Create our index server object
    Set objQuery = Server.CreateObject("IXSSO.Query")
    ' Set it's properties
    With objQuery
        .Catalog    = "qa_weert"                      ' Catalog to query
        .Query      = strQuery              ' Query text
        .SortBy     = "rank [d]"
        .Columns    = "filename, path, write, rank, directory"
    End With

    ' Get a recordset of our results back from Index Server
    Set rstResults = objQuery.CreateRecordset("nonsequential")
    
    ' Get rid of our Query object
    Set objQuery = Nothing

%>

<%
If rstResults.EOF Then
Response.Write "Sorry, ik kan helemaal niks vinden...."
Else
Do While Not rstResults.EOF
Response.Write rstResults.Fields("path") 'Diverse velden zie technet/msdn
rstResults.MoveNext
Loop
End If
Set rstResults = Nothing
End If
%>

[ Voor 24% gewijzigd door leon1e op 19-02-2004 22:38 ]


Verwijderd

Topicstarter
Leon,

Bedankt voor je reactie, ik ben dr nu mee van start gegaan.
Ik neem aan dat de code die je mij gestuurt hebt, als search_results.asp gesaved moet worden.

Moet ik verder nog ergens rekening mee houden voor de search.asp pagina?

  • leon1e
  • Registratie: December 2000
  • Laatst online: 21:29
Als je nu gewoon even de pagina opslaat als test.asp en dan deze pagina direct opvraagt als "test.asp?query=test" dan heb je vast resultaat als je test in een voorkomend woord veranderd.. Mischien is het ook wel handig dat je de code even goed nakijkt :)

Verwijderd

Topicstarter
Ik gebruik:

search.asp
code:
1
2
3
4
<form name="frmSearch" action="search_results.asp" method="post">
   Search : <input type="text" name="txtSearch" size=50 maxlength=50> 
   <input type="submit" value="search">
</form>


search_results.asp, met daarin jouw code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<%@ Language="VBScript" %>
<% Option Explicit %>

<%
Dim strQuery   ' The text of our query
Dim strFile    ' The text of our query file
Dim objQuery   ' The index server query object
Dim rstResults ' A recordset of results returned from I.S.
Dim objField   ' Field object for loop

' Retreive the query from the querystring
strQuery = Request.QueryString("query")
strFile = Request.QueryString("file")

' If the query isn't blank them proceed
If strQuery <> "" Then
    ' Create our index server object
    Set objQuery = Server.CreateObject("IXSSO.Query")
    ' Set it's properties
    With objQuery
        .Catalog    = "qa_weert"                       ' Catalog to query
        .Query      = strQuery                ' Query text
        .SortBy        = "rank [d]"
        .Columns    = "filename, path, write, rank, directory"
    End With

    ' Get a recordset of our results back from Index Server
    Set rstResults = objQuery.CreateRecordset("nonsequential")
    
    ' Get rid of our Query object
    Set objQuery = Nothing

%>

<%
If rstResults.EOF Then
Response.Write "Sorry, ik kan helemaal niks vinden...."
Else
Do While Not rstResults.EOF
Response.Write rstResults.Fields("path") 'Diverse velden zie technet/msdn
rstResults.MoveNext
Loop
End If
Set rstResults = Nothing
End If
%>


Ik krijg na het aanvragen van 'n query, 'n compleet blanco pagina.

Wat ik heb gedaan, is in de search_results.asp:
<body> Helemaal bovenaan toegevoegd ;
</body> Helemaal onderaan toegevoegd.

Als ik nu 'n query uitvoer, krijg ik de volgende foutmelding:
HTTP 500.100 - Internal Server Error - ASP error
Internet Information Services
Error Type:
Microsoft VBScript compilation (0x800A0400)
Expected statement
/digitale_vraagbaak/weert/search/new/search_results.asp, line 3

Wat gaat er mis?

Verwijderd

Topicstarter
Ik heb je test uitgevoerd, en met succes:

Ik krijg netjes results :)

[ Voor 37% gewijzigd door Verwijderd op 20-02-2004 10:50 ]


  • leon1e
  • Registratie: December 2000
  • Laatst online: 21:29
Verwijderd schreef op 20 februari 2004 @ 10:50:
Ik heb je test uitgevoerd, en met succes:

Ik krijg netjes results :)
Ja, dacht je dat ik je een kant en klare ctrlc code zou geven ofzo :Y)

Verwijderd

Topicstarter
wouldn't that be nice :)

Kun je me wel 'n schopje in de juist richting geven...

Verwijderd

Topicstarter
Leon,

Ik heb www.aspin.com bezocht, en aldaar wat informatie kunnen verschaffen mbt. search.

Ik kom dr nu verder wel aan uit, bedankt voor je prima hulp!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 06:52

Koffie

Koffiebierbrouwer

Braaimeneer

De overeenstemming tussen dit en PNS ontgaat mij eigenlijk volledig :?

Move PNS > PW

Braaikamer - Smoke&BBQ

Pagina: 1