RE: Using Index Server
anonymous_at_discussions.microsoft.com
Date: 09/09/04
- Previous message: George Cheng [MSFT]: "RE: Using Index Server"
- In reply to: George Cheng [MSFT]: "RE: Using Index Server"
- Next in thread: George Cheng [MSFT]: "RE: Using Index Server"
- Reply: George Cheng [MSFT]: "RE: Using Index Server"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 9 Sep 2004 10:28:14 -0700
** Thank you - -
I know that this information is useful but I am not adept
with HTML writing. I tried to place your code in a HTML
page created by Word but it does not seem to work. I know
I am missing something. What do I need to do to use your
code below? Any help is great.
Thanks
>-----Original Message-----
>Here is the sample query.asp page
>
><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
3.0//EN" "html.dtd">
><HTML>
><HEAD>
><%
>' ********** INSTRUCTIONS FOR QUICK CUSTOMIZATION
**********
>'
>' This form is set up for easy customization. It allows
you to modify the
>' page logo, the page background, the page title and
simple query
>' parameters by modifying a few files and form variables.
The procedures
>' to do this are explained below.
>'
>'
>' *** Modifying the Form Logo:
>
>' The logo for the form is named is2logo.gif. To change
the page logo,
>simply
>' name your logo is2logo.gif and place in the same
directory as this form.
>If
>' your logo is not a GIF file, or you don't want to copy
it, change the
>following
>' line so that the logo variable contains the URL to your
logo.
>
> FormLogo = "is2logo.gif"
>
>'
>' *** Modifying the Form's background pattern.
>
>' You can use either a background pattern or a background
color for your
>' form. If you want to use a background pattern, store
the file with the
>name
>' is2bkgnd.gif in the same directory as this file and
remove the remark
>character
>' the single quote character) from the line below. Then
put the remark
>character on
>' the second line below.
>'
>' If you want to use a different background color than
white, simply edit
>the
>' bgcolor line below, replacing white with your color
choice.
>
>' FormBG = "background = " & chr(34)
& "is2bkgnd.gif" & chr(34)
> FormBG = "bgcolor = " & chr(34) & "#FFFFFF" & chr
(34)
>
>
>' *** Modifying the Form's Title Text.
>
>' The Form's title text is set on the following line.
>
>%>
> <TITLE>Sample ASP Search Form</TITLE>
><%
>'
>' *** Modifying the Form's Search Scope.
>'
>' The form will search from the root of your web server's
namespace and
>below
>' (deep from "/" ). To search a subset of your server,
for example, maybe
>just
>' a PressReleases directory, modify the scope variable
below to list the
>' virtual path to search. The search will start at the
directory you specify
>' and include all sub-directories.
>
> FormScope = "/"
>
>'
>' *** Modifying the Number of Returned Query Results.
>'
>' You can set the number of query results returned on a
single page
>' using the variable below.
>
> PageSize = 10
>'
>' You can set the total number of query results returned
using the
>' variable below.
>
> MaxResults = 300
>
>'
>' *** Setting the Locale.
>'
>' The following line sets the locale used for queries. In
most cases, this
>' should match the locale of the server. You can set the
locale below.
>
> SiteLocale = "EN-US"
>
>'
>' *** Enable saving active searches in session variables
>'
>' The following line enables using session state to save
multi-page queries
>' and avoid re-executing them when the user presses the
Next Page button.
>' This should be set FALSE if sessions are disabled using
>AspAllowSessionState.
>
> UseSessions = TRUE
>
>' ********** END QUICK CUSTOMIZATION SECTIONS ***********
>%>
>
> <LINK REL=STYLE*** HREF="is2style.css"
TYPE="text/css">
>
> <META NAME="DESCRIPTION" CONTENT="Sample ASP query
form for Indexing
>Service">
> <META NAME="AUTHOR" CONTENT="Indexing Service
Team">
> <META NAME="KEYWORDS" CONTENT="query, content,
hit">
> <META NAME="SUBJECT" CONTENT="sample form">
> <META NAME="MS.CATEGORY" CONTENT="Internet">
> <META NAME="MS.LOCALE" CONTENT="EN-US">
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;
>charset=Windows-1252">
><%
>' Set Initial Conditions
> NewQuery = FALSE
> UseSavedQuery = FALSE
> SearchString = ""
>
> QueryForm = Request.ServerVariables("PATH_INFO")
>
>' Did the user press a SUBMIT button to execute the form?
If so get the
>form variables.
> if Request.ServerVariables("REQUEST_METHOD") = "POST"
then
> SearchString = Request.Form("SearchString")
> Advanced = Request.Form("Advanced")
> ' NOTE: this will be true only if the button is
actually pushed.
> if Request.Form("Action") = "Go" then
> NewQuery = TRUE
> RankBase=1000
> NextPageNumber = -1
> end if
> end if
> if Request.ServerVariables("REQUEST_METHOD") = "GET"
then
> SearchString = Request.QueryString("qu")
> Advanced = Request.QueryString("Advanced")
> FormScope = Request.QueryString("sc")
> RankBase = Request.QueryString("RankBase")
> if Request.QueryString("pg") <> "" then
> NextPageNumber = Request.QueryString("pg")
> UseSavedQuery = UseSessions
> NewQuery = not UseSessions
> else
> NewQuery = SearchString <> ""
> NextPageNumber = -1
> end if
> end if
>%>
></HEAD>
>
><BODY OnLoad="Init()" LANGUAGE="JSCRIPT" <%=FormBG%>>
>
><TABLE>
> <TR><TD><A
HREF="http://www.microsoft.com/ntserver/search"
>target="_top"><IMG SRC ="<%=FormLogo%>" border=0
VALIGN=MIDDLE
>ALIGN=LEFT></a></TD></TR>
> <TR><TD ALIGN="RIGHT"><H3>Sample ASP Search
Form</H3></TD></TR>
></TABLE>
>
><p>
>
><FORM NAME=QueryForm ACTION="<%=QueryForm%>" METHOD=POST>
> <TABLE WIDTH=500>
> <TR>
> <TD>Enter your query below:</TD>
> </TR>
> <TR>
> <TD><INPUT TYPE="TEXT" NAME="SearchString"
SIZE="65"
>MAXLENGTH="100" VALUE="<%=SearchString%>" TABINDEX=1></TD>
> <TD><BUTTON TYPE=SUBMIT
NAME="Action">Go</BUTTON></TD>
> </TR>
> <TR>
> <TD ALIGN="RIGHT"><A HREF="ixtiphlp.htm">Tips
for
>searching</A></TD>
> </TR>
> <TR>
> </TR>
> <TR>
> <TD><INPUT NAME="Advanced" TYPE=CHECKBOX<% if
Advanced = "on"
>then Response.Write(" CHECKED") end if %>>
> Use <a href="ixtiphlp.htm">Advanced
Query</a>.
> </TD>
> </TR>
> </TABLE>
></FORM>
>
><BR>
>
><%
> if NewQuery then
> if UseSessions then
> set Session("Query") = nothing
> set Session("Recordset") = nothing
> end if
> NextRecordNumber = 1
>
> ' Remove any leading and ending quotes from
SearchString
>
> SrchStrLen = len(SearchString)
>
> if left(SearchString, 1) = chr(34) then
> SrchStrLen = SrchStrLen-1
> SearchString = right(SearchString, SrchStrLen)
> end if
>
> if right(SearchString, 1) = chr(34) then
> SrchStrLen = SrchStrLen-1
> SearchString = left(SearchString, SrchStrLen)
> end if
>
> if Advanced<> "on" then
> CompSearch = "{freetext} " & SearchString
& "{/freetext}"
> else
> CompSearch = SearchString
> end if
>
> set Q = Server.CreateObject("ixsso.Query")
> set Util = Server.CreateObject("ixsso.Util")
>
> Q.Catalog = "web"
> Q.Query = CompSearch
> Q.SortBy = "rank[d]"
> Q.Columns = "DocTitle, vpath, filename, size, write,
characterization,
>rank"
>
> if MaxResults <> -1 then
> Q.MaxRecords = MaxResults
> end if
>
> if FormScope <> "\" then
> Util.AddScopeToQuery Q, FormScope, "deep"
> end if
>
> if SiteLocale<>"" then
> Q.LocaleID = Util.ISOToLocaleID(SiteLocale)
> end if
> set Util = nothing
>
> set RS = Q.CreateRecordSet("nonsequential")
>
> RS.PageSize = PageSize
> RS.CacheSize = PageSize
> ActiveQuery = TRUE
>
> elseif UseSavedQuery then
> if IsObject( Session("Query") ) And IsObject( Session
("RecordSet") )
>then
> set Q = Session("Query")
> set RS = Session("RecordSet")
>
> ActiveQuery = TRUE
> else
> Response.Write "ERROR - No saved query"
> end if
> end if
>
> if ActiveQuery then
> if RS.RecordCount <> -1 and NextPageNumber <> -1 then
> RS.AbsolutePage = NextPageNumber
> NextRecordNumber = RS.AbsolutePosition
> end if
>
> if not RS.EOF then
> %>
>
><p>
><HR WIDTH=80% ALIGN=center SIZE=3>
><p>
>
><%
> LastRecordOnPage = NextRecordNumber +
RS.PageSize - 1
> CurrentPage = RS.AbsolutePage
> if RS.RecordCount <> -1 AND RS.RecordCount <
LastRecordOnPage then
> LastRecordOnPage = RS.RecordCount
> end if
>
> Response.Write "Documents " & NextRecordNumber
& " to " &
>LastRecordOnPage
> if RS.RecordCount <> -1 then
> Response.Write " of " & RS.RecordCount
> end if
> Response.Write " matching the query " & chr(34)
& "<I>"
> Response.Write SearchString & "</I>" & chr(34)
& ".<P>"
> %>
>
><% if Not RS.EOF and NextRecordNumber <= LastRecordOnPage
then%>
><table border=0>
><colgroup width=105>
><% end if %>
>
><% Do While Not RS.EOF and NextRecordNumber <=
LastRecordOnPage
>
> ' This is the detail portion for Title, Abstract,
URL, Size, and
> ' Modification Date.
>
> ' If there is a title, display it, otherwise display
the filename.
>%>
> <p>
><%
> ' Graphically indicate rank of document with list of
stars (*'s).
>
> if NextRecordNumber = 1 then
> RankBase=RS("rank")
> end if
>
> if RankBase>1000 then
> RankBase=1000
> elseif RankBase<1 then
> RankBase=1
> end if
>
> NormRank = RS("rank")/RankBase
>
> if NormRank > 0.80 then
> stars = "rankbtn5.gif"
> elseif NormRank > 0.60 then
> stars = "rankbtn4.gif"
> elseif NormRank > 0.40 then
> stars = "rankbtn3.gif"
> elseif NormRank >.20 then
> stars = "rankbtn2.gif"
> else
> stars = "rankbtn1.gif"
> end if
>%>
> <tr class="RecordTitle">
> <td align="right" valign=top
class="RecordTitle">
> <%= NextRecordNumber%>.
> </td>
> <td><b class="RecordTitle">
> <%if VarType(RS("DocTitle")) = 1 or RS
("DocTitle") = ""
>then%>
> <a
>href="javascript:NAF('http://<%=Request.ServerVariables
("SERVER_NAME")%><%=R
>S("vpath")%>','<%=SearchString%>')" class="RecordTitle"><%
=
>Server.HTMLEncode( RS("filename") )%></a>
> <%else%>
> <a
>href="javascript:NAF('http://<%=Request.ServerVariables
("SERVER_NAME")%><%=R
>S("vpath")%>','<%=SearchString%>')" class="RecordTitle"><%
=
>Server.HTMLEncode(RS("DocTitle"))%></a>
> <%end if%>
> </b></td>
> </tr>
>
> <tr>
> <td valign=top align=left>
> <IMG SRC="<%=stars%>">
> <br>
><%
> ' Construct the URL for hit highlighting
> WebHitsQuery = "CiWebHitsFile=" & Server.URLEncode
( RS("vpath") )
> WebHitsQuery = WebHitsQuery & "&CiRestriction=" &
Server.URLEncode(
>Q.Query )
> WebHitsQuery = WebHitsQuery & "&CiBeginHilite=" &
Server.URLEncode(
>"<strong class=Hit>" )
> WebHitsQuery = WebHitsQuery & "&CiEndHilite=" &
Server.URLEncode(
>"</strong>" )
> WebHitsQuery = WebHitsQuery & "&CiUserParam3=" &
QueryForm
>' WebHitsQuery = WebHitsQuery & "&CiLocale=" &
Q.LocaleID
> %>
> <a href="qsumrhit.htw?<%= WebHitsQuery %
>">
> <IMG src="hilight.gif" align=left
alt="Highlight matching
>terms in document using Summary mode."> Summary</a>
> <br>
> <a href="qfullhit.htw?<%= WebHitsQuery
>%>&CiHiliteType=Full">
> <IMG src="hilight.gif" align=left
alt="Highlight matching
>terms in document."> Full</a>
> </td>
> <td valign=top>
> <%if VarType(RS("characterization")) = 8
and
>RS("characterization") <> "" then%>
> <b><i>Abstract: </i></b>
> <%= Server.HTMLEncode(RS
("characterization"))%>
> <%end if%>
> <p>
> <i class="RecordStats"><a
>href="javascript:NAF('http://<%=Request.ServerVariables
("SERVER_NAME")%><%=R
>S("vpath")%>','<%=SearchString%>')" class="RecordStats"
>style="color:blue;">http://<%=Request("server_name")%><%
=RS("vpath")%></a>
> <br><%if RS("size") = "" then%>(size and
time
>unknown)<%else%>size <%=RS("size")%> bytes - <%=RS
("write")%> GMT<%end
>if%></i>
> </td>
> </tr>
> <tr>
> </tr>
><%
> RS.MoveNext
> NextRecordNumber = NextRecordNumber+1
> Loop
> %>
>
></table>
><P><BR>
>
><%
> else ' NOT RS.EOF
> if NextRecordNumber = 1 then
> Response.Write "No documents matched the
query<P>"
> else
> Response.Write "No more documents in the
query<P>"
> end if
>
> end if ' NOT RS.EOF
>
>
>if NOT Q.OutOfDate then
>' If the index is current, display the fact %>
><P>
> <I><B>The index is up to date.</B></I><BR>
><%end if
>
>
> if Q.QueryIncomplete then
>' If the query was not executed because it needed to
enumerate to
>' resolve the query instead of using the index, but
AllowEnumeration
>' was FALSE, let the user know
> %>
> <P>
> <I><B>The query is too expensive to
complete.</B></I><BR>
><%end if
>
>
> if Q.QueryTimedOut then
>' If the query took too long to execute (for example,
if too much work
>' was required to resolve the query), let the user
know %>
> <P>
> <I><B>The query took too long to complete.</B></I><BR>
><%end if%>
>
><TABLE>
>
><%
>' This is the "previous" button.
>' This retrieves the previous page of documents for
the query.
>
> SaveQuery = FALSE
> if CurrentPage > 1 and RS.RecordCount <> -1 then %>
> <td align=left>
> <form action="<%=QueryForm%>" method="get">
> <INPUT TYPE="HIDDEN" NAME="qu" VALUE="<%
=SearchString%>">
> <INPUT TYPE="HIDDEN" NAME="Advanced" VALUE="<%
=Advanced%>">
> <INPUT TYPE="HIDDEN" NAME="sc" VALUE="<%
=FormScope%>">
> <INPUT TYPE="HIDDEN" NAME="pg" VALUE="<%
=CurrentPage-1%>" >
> <INPUT TYPE="HIDDEN" NAME="RankBase" VALUE="<%
=RankBase%>">
> <input type="submit" value="Previous <%
=RS.PageSize%>
>documents">
> </form>
> </td>
> <%SaveQuery = UseSessions%>
><%end if%>
>
><%
>' This is the "next" button for unsorted queries.
>' This retrieves the next page of documents for the
query.
>
> if Not RS.EOF then%>
> <td align=right>
> <form action="<%=QueryForm%>" method="get">
> <INPUT TYPE="HIDDEN" NAME="qu" VALUE="<%
=SearchString%>">
> <INPUT TYPE="HIDDEN" NAME="Advanced" VALUE="<%
=Advanced%>">
> <INPUT TYPE="HIDDEN" NAME="sc" VALUE="<%
=FormScope%>">
> <INPUT TYPE="HIDDEN" NAME="pg" VALUE="<%
=CurrentPage+1%>">
> <INPUT TYPE="HIDDEN" NAME="RankBase" VALUE="<%
=RankBase%>">
> <%
> NextString = "Next "
> if RS.RecordCount <> -1 then
> NextSet = (RS.RecordCount -
NextRecordNumber) + 1
> if NextSet > RS.PageSize then
> NextSet = RS.PageSize
> end if
> NextString = NextString & NextSet & "
documents"
> else
> NextString = NextString & " page of
documents"
> end if
> %>
> <input type="submit" value="<%=NextString%>">
> </form>
> </td>
> <%SaveQuery = UseSessions%>
><%end if%>
>
></TABLE>
>
><% ' Display the page number
>
>if RS.PageCount <> 0 then
> Response.Write "Page " & CurrentPage
> if RS.PageCount <> -1 then
> Response.Write " of " & RS.PageCount
> end if
>end if
> %>
><%
> ' If either of the previous or back buttons were
displayed, save the
>query
> ' and the recordset in session variables.
> if SaveQuery then
> set Session("Query") = Q
> set Session("RecordSet") = RS
> else
> RS.close
> Set RS = Nothing
> Set Q = Nothing
> if UseSessions then
> set Session("Query") = Nothing
> set Session("RecordSet") = Nothing
> end if
> end if
> %>
><% end if %>
><BR>
>
>
></BODY>
>
><SCRIPT LANGUAGE=JSCRIPT>
>function Init()
>{
> QueryForm.SearchString.focus();
>}
>
>function msieversion()
>{
> var ua = window.navigator.userAgent;
> var msie = ua.indexOf("MSIE");
> if (msie>0)
> return parseInt(ua.substring(msie+5, ua.indexOf
(".", msie)));
> else
> return 0;
>}
>
>function NAF(szUrl, szQuery)
>{
> if (msieversion() >= 5)
> window.external.NavigateAndFind(szUrl,
szQuery, "_main");
> else
> window.navigate(szUrl, target="_main");
>}
></SCRIPT>
>
></HTML>
>
>
>
>Thank You
>
>George Cheng
>
>Microsoft Application Center & Index Server Support
>
>Note: This article has no warranties implicit or explicit.
>All the content is given on the "as is" basis and the
user
>takes full responsibility for its use and assumption.
>Microsoft Corporation Copyright 2004
>All Rights Reserved
>
>--------------------
>| Content-Class: urn:content-classes:message
>| From: "Richard Brookside"
<anonymous@discussions.microsoft.com>
>| Sender: "Richard Brookside"
<anonymous@discussions.microsoft.com>
>| Subject: Using Index Server
>| Date: Thu, 9 Sep 2004 07:26:51 -0700
>| Lines: 12
>| Message-ID: <0a9501c49679$0c82e290$a401280a@phx.gbl>
>| MIME-Version: 1.0
>| Content-Type: text/plain;
>| charset="iso-8859-1"
>| Content-Transfer-Encoding: 7bit
>| X-Newsreader: Microsoft CDO for Windows 2000
>| X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
>| Thread-Index: AcSWeQyC0J9/9t6zRD6pR7UmhBk8xg==
>| Newsgroups: microsoft.public.inetserver.indexserver
>| Path: cpmsftngxa10.phx.gbl
>| Xref: cpmsftngxa10.phx.gbl
microsoft.public.inetserver.indexserver:29762
>| NNTP-Posting-Host: tk2msftngxa12.phx.gbl 10.40.1.164
>| X-Tomcat-NG: microsoft.public.inetserver.indexserver
>|
>| I have setup the Index Server on the Win2k box and can
>| successfully querry the index from the 'Computer
>| Management/Indexing Services/Querry the Catalog' tool
on
>| the box itself. This is probally a dumb question but
is
>| there a client that goes along with this? How can I
allow
>| users to search what I have placed on the box?
Eventually
>| I want this to work with IIS but I am taking small
steps
>| right now (1st time with Index Server).
>|
>| Any help would be appreciated.
>|
>|
>|
>
>.
>
- Previous message: George Cheng [MSFT]: "RE: Using Index Server"
- In reply to: George Cheng [MSFT]: "RE: Using Index Server"
- Next in thread: George Cheng [MSFT]: "RE: Using Index Server"
- Reply: George Cheng [MSFT]: "RE: Using Index Server"
- Messages sorted by: [ date ] [ thread ]