Moin, moin.
Ich habe vor eine Suchmaschine fürs Intranet zu bauen. Damit die Leute schnell ihre
Dokumente finden können. Verwenden würde ich Server 2003, IIS 6.0 und den Indexdienst.
Als Abfrageformular habe ich das hier genommen: (ask.htm)
<HTML>
<HEAD>
<TITLE>INDEX-ARCHIV durchsuchen</TITLE>
</HEAD>
<BODY>
<Form ACTION="search.asp" METHOD=POST>
Geben Sie Ihre bitte Abfrage ein!<br>
<INPUT> <TYPE=TEXT NAME="SearchString" SIZE="94" MAXLENGTH="100" VALUE=""></br>
<BUTTON TYPE=SUBMIT>Submit</BUTTON>
<BUTTON TYPE=RESET>Clear Form</BUTTON>
</FORM>
</BODY>
</HTML>
Nachdem man also ein Wort eingegeben hat, wird dann automatisch die "search.asp" Datei ausgeführt. Der Code sieht so aus:
<HTML>
<HEAD>
<TITLE>Suchergebnisse</TITLE>
</HEAD>
<BODY>
<%
'Diese Zeilen stellen die Suchparameter ein
FormScope = "/"PageSize = 1000
MaxRecords=1000
SearchString = Request.Form("SearchString")
CatalogToSearch = "System"
SearchRankOrder="rank[d]"
OrigSearch=SearchString
'
' Abfrageobjekt erstellen
set Q = Server.CreateObject("ixsso.Query")
set util = Server.CreateObject("ixsso.Util")
Q.Query = SearchString
Q.Catalog = CatalogToSearch
Q.SortBy = SearchRankOrder
Q.Columns = "DocTitle, vpath, filename, size, write, characterization, rank, directory, path"
Q.MaxRecords = MaxRecords
'util.AddScopeToQuery Q, FormScope, "deep"
'
'Abfrage durchführen
'
set RS = Q.CreateRecordSet("nonsequential")
RS.PageSize = PageSize
response.write "<p>Ihre Suche nach <b>" & OrigSearch & "</b> ergab "
If RS.RecordCount=0 then response.write "no result."
If RS.RecordCount=1 then response.write "1 result:"
If RS.RecordCount>1 then response.write RS.RecordCount & " results:"
response.write "<table border=1><tr><td>Doctitle</td><td>Vpath</td><td>Filename</td>"
response.write "<td>Size</td><td>Write</td><td>Characterization</td><td>Rank</td>"
response.write "<td>Directory</td><td>Path</td></tr>"
'Ergebnisse anzeigen
Do While Not RS.EOF
'Schleife mit den Ergebnissen.
'Hyperlink zum Dokument aufbauen.
hlink = "<a href=""/System/" & RS("filename") & """>" & RS("doctitle") & "</a>"
'Attribute anzeigen
response.write "<tr><td>"& hlink & "</td><td>" & RS("Vpath") & "</td><td>"
response.write RS("filename") & "</td><td>" & RS("size") & "</td><td>" & RS("write)
response.write "</td><td>" & RS("characterization") & "</td><td>" & RS("rank")
response.write "</td><td>" & RS("directory") & "</td><td>" & RS("path") & "</td><tr>"
'Nächstes Ergebnis holen
RS.MoveNext
Loop 'end of DO WHILE loop
response.write "</table>"
set rs=nothing
set q=nothing
set util=nothing
%>
</BODY>
</HTML>
So... wenn ich nun vom Client im Internet Explorer eingebe: \\RECHNERNAME
dann erscheint auch das Abfrageformular. Sobald ich dann aber ein Wort eingegeben habe und auf "Suche" geklickt habe, kommt diese Meldung hier:
Die ASP Datei sorgt dafür, dass man auf den Indexkatalog SYSTEM durchsuchen kann.
Was habe ich falsch gemacht? Oder kennt ihr vielleicht ein anderes Abfrageforumular?
Oder vielleicht ein besseren Tipp?
Für weitere Vorschläge und Lösungen bin ich dankbar.
Buggy