Hi, This is the code of my query.asp. I need an advanced search (boolean) eg. findthisword* , "find this word" - where I would search with quotes for the "exact phrase" . Please have a look into the code and see what I am missing. thanks.

Code:
 
<HTML>
<HEAD>
<!-- #include file="include/style.asp" -->
<LINK REL=stylesheet HREF="http://xxxxx/include/style.css" TYPE="text/css"> 
 
 
<%
		FormLogo = "is2logo.gif"
'	 FormBG = "background = " & chr(34) & "is2bkgnd.gif" & chr(34)
'		FormBG = "bgcolor = " & chr(34) & "#FFFFFF" & chr(34)
		FormScope = "/xxxxx/Documents/"
 
	 PageSize = 10
		SiteLocale = "EN-US"
%>
	<META NAME="AUTHOR"	 CONTENT="Index Server 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")
 
SearchString = trim(request("SearchString"))
SearchString = replace(SearchString, "'", "", 1, -1, vbtextcompare)
 
if SearchString = "" then
SearchString = "my company name"
end if
 
if trim(SearchString) ="" then
SearchString = "my company name"
end if
 
		' NOTE: this will be true only if the button is actually pushed.
		if Request.Form("Action") = "Go" then
			NewQuery = TRUE
RankBase=1000
		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")
			NewQuery = FALSE
			UseSavedQuery = TRUE
		else
			NewQuery = SearchString <> ""
		end if
	end if
%>
 
</HEAD>
 
<BODY <%=FormBG%>>
 
 
 
 
 
 
<table border=0 cellpadding=0 cellspacing=0 valign=top width=100%>
	</td><td height=1 colspan=2 class=linething><img src=i/0.gif width=1 height=1></td></tr><tr><td valign=top><img src=i/0.gif width=4 height=1></td><td valign=top>
<BR>
 
<% 
if NewQuery then
	set Session("Query") = nothing
	set Session("Recordset") = nothing
	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 = "$contents " & chr(34) & SearchString & chr(34)
	else
	 CompSearch = SearchString
	end if
 
	set Q = Server.CreateObject("ixsso.Query")
		set util = Server.CreateObject("ixsso.Util")
 
	Q.Query = CompSearch
	Q.SortBy = "rank[d]"
	Q.Columns = "DocTitle, vpath, filename, size, write, characterization, rank"
Q.MaxRecords = 300 
 
 
		if FormScope <> "/" then
				util.AddScopeToQuery Q, FormScope, "deep"
		end if
 
		if SiteLocale<>"" then
				Q.LocaleID = util.ISOToLocaleID(SiteLocale)
		end if
 
	set RS = Q.CreateRecordSet("nonsequential")
 
	RS.PageSize = PageSize
	ActiveQuery = TRUE
 
elseif UseSavedQuery then
	if IsObject( Session("Query") ) And IsObject( Session("RecordSet") ) then
	 set Q = Session("Query")
	 set RS = Session("RecordSet")
 
	 if RS.RecordCount <> -1 and NextPageNumber <> -1 then
		RS.AbsolutePage = NextPageNumber
		NextRecordNumber = RS.AbsolutePosition
	 end if
 
	 ActiveQuery = TRUE
	else
	 Response.Write "ERROR - No saved query"
	end if
end if
 
if ActiveQuery then
	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>
<td align="right" valign=top>
<%= NextRecordNumber%>.
</td>
<td><b> 
<%if VarType(RS("DocTitle")) = 1 or RS("DocTitle") = "" then%>
	<a class=query href="<%=RS("vpath")%>"><%= Server.HTMLEncode( RS("filename") )%></a>
<%else%>
	<a class=query href="<%=RS("vpath")%>" ><%= Server.HTMLEncode(RS("DocTitle"))%></a>
<%end if%>
</b></td>
</tr>
 
<tr>
<td valign=top align=left>
<IMG SRC="searchi/<%=stars%>">
<br>
</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><a href="<%=RS("vpath")%>" 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 = TRUE%>
<%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 = "RankBase" VALUE="<%=RankBase%>">
<INPUT TYPE="HIDDEN" name="pg" VALUE="<%=CurrentPage+1%>">
 
			<% 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 = TRUE%>
<%end if%>
 
</TABLE>
 
<% ' Display the page number %>
 
Page <%=CurrentPage%>
<%if RS.PageCount <> -1 then
	 Response.Write " of " & RS.PageCount
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
		set Session("Query") = Nothing
		set Session("RecordSet") = Nothing
	end if
%>
<% end if %>
 
	</td>
	</tr></table>
	</td></tr>
	<tr><td valign=bottom>
	 </td></tr>
	</table>
 
 
 
</body>
</html>