DevTrain

Autor: Bernhard Elbl

komplexe Suche über MS Index Server - Teil 1

Wenn ihr Provider den Microsoft Index Server unterstützt, dann ist der IS ein sehr praktisches und performantes Werkzeug, um eine Suche über ihr Web zu erstellen.
Weiter ist er auch kaum Wartungsbedürftig, solange ihr Web keine überflüssigen und veralteten Dateien quer verteilt durch alle Folders besitzt. Bestimmte Dateien und Folders können mit Hilfe der "Index Server Query Language" gefiltert werden.

Welche Features soll eine Suche haben?
Am besten Sie werfen einen Blick auf...
http://www.ppedv.com/search.asp
Alle Features dieser Seite werden hier nachgestellt

Beispiel:
1. Grundstruktur einer Suchseite

<%@ Language=VBScript %>
<html>
<head>
<title>Suche ppedv</title>
<link rel="stylesheet" type="text/css" href="ppedv1.css">
<script LANGUAGE="javascript">
<!--
 function ViewThis(pos)     // andere Seite auswählen
 { window.document.frmSearch.txtActPos.value=pos;
  window.document.frmSearch.submit();  
 }
 function addANDOR(sANDOR)   // AND OR zur Textbox hinzufügen
 { document.frmSearch.txtSearchKeyword.value+=sANDOR;
  document.frmSearch.txtSearchKeyword.focus();
 }
//-->
</script>
</head>
<body topmargin="0" leftmargin="0" MARGINWIDTH="0" MARGINHEIGHT="0">
<br>

<form name="frmSearch" id="frmSearch" method="post" action="<%=Request.ServerVariables("PATH_INFO")%>">
<table width="759" align="center" border="0">
 <tr>
  <td valign="TOP">
   <table class="search" width="100%">
    <tr>
     <td colspan="2"><h1>Suchen</h1></td>
    </tr>
    <tr>
     <td align="center" valign="middle">
      <input type="text" name="txtSearchKeyword" size="30" value="<%
       ' Suchbegriff beibehalten, falls vorhanden
       if len(Request.Form("txtSearchKeyword")) <> 0 then
        Response.Write Server.HTMLEncode(Request.Form("txtSearchKeyword"))
       else
        Response.Write Server.HTMLEncode(Request.QueryString("SearchKey"))
       end if
       %>">
      <input type="submit" value="Neue Suche" name="newSearch">
     </td>
    </tr>
    <tr>
     <td align="center" valign="middle">
      <%
      ' Einstellungen für Suche beibehalten
      redim aChecked(2)
      select case Request.Form("SearchType")
       case "exact"    : aChecked(0) = " checked"
       case "allWords" : aChecked(1) = " checked"
       case "profi"    : aChecked(2) = " checked"
       case else       : aChecked(0) = " checked"
      end select
      Response.Write "<input type=""radio"" name=""SearchType"" value=""exact""" aChecked(0) & ">"
      Response.Write "genauer Wortlaut | "
      Response.Write "<input type=""radio"" name=""SearchType"" value=""allWords""" aChecked(1) & ">"
      Response.Write "alle Wörter im Dokument | "
      Response.Write "<input type=""radio"" name=""SearchType"" value=""profi""" aChecked(2) & ">"
      Response.Write "Suchen mit <a href=""javascript:addANDOR(' AND ')"">AND</a>/"
      Response.Write "<a href=""javascript:addANDOR(' OR ');"">OR</a>"
      %>
     </td>
    </tr>
   </table>
   <table width="100%">
    <tr>
     <td>
      <!-- Script für Index Server -->
     </td>
    </tr>
   </table>
  </td>
 </tr>
 <!--Weitere Seiten anzeigen-->
 <%if len(sLinks) <> 0 then%>
 <tr>
  <td valign="TOP">
   <table width="100%">
    <tr><td><hr>weitere Suchergebnisse...</td></tr>
    <tr><td><%=sLinks%></td></tr>
   </table>
  </td>
 </tr>
 <%end if%>
</table>
<!--aktuelle Seitennummer merken-->
<input type="hidden" name="txtActPos" value="1">
</form>
</body>
</html>

Jetzt haben wir NUR die Grundstruktur der Seite fertig. Im nächsten Teil wird das Query Script implementiert.


Erfasst am: 12.02.2002 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=704
© Copyright 2003 ppedv AG - http://www.ppedv.de