% If Not IsIndexServerInstalled() Then Response.Redirect("NoIndexServer.asp") End If %> <% DebugFlag = FALSE NewQuery = FALSE UseSavedQuery = FALSE SearchString = "" ' If request_method is a post then we have posted back to ourselves if Request.ServerVariables("REQUEST_METHOD") = "POST" then SearchString = Request.Form("SearchString") DocAuthorRestriction = Request.Form("DocAuthorRestriction") FSRest = Request.Form("FSRest") FSRestVal = Request.Form("FSRestVal") FSRestOther = Request.Form("FSRestOther") FMMod = Request.Form("FMMod") FMModDate = Request.Form("FMModDate") SortBy = Request.Form("SortBy") Colset = Request.Form("ColChoice") Scope = Request.Form("Scope") ' NOTE: this will be true only if the button is actually pushed. if Request.Form("Action") = "Search" then NewQuery = TRUE end if end if %>
">![]() "> ![]() |
Advanced Search Page |
![]() |
![]() |
Please fill out the form below to create your complex search query: | ||
Words to search for: | ||
File Size is: | ||
Modified: | ||
Document Author: |
SearchString = <%=SearchString%> DocAuthorRestriction = <%=DocAuthorRestriction%> FSRest = <%=FSRest%> FSRestVal = <%=FSRestVal%> FSRestOther = <%=FSRestOther%> FMMod = <%=FMMod%> FMModDate = <%=FMModDate%> SortBy = <%=SortBy%> Colset = <%=Colset%> Scope = <%=Scope%> NewQuery = <%=CStr(NewQuery)%> UseSavedQuery = <%=CStr(UseSavedQuery)%><%end if%> <% if NewQuery then set Session("Query") = nothing set Session("Recordset") = nothing NextRecordNumber = 1 set Q = Server.CreateObject("ixsso.Query") Composer = "" TheQuery = "" if SearchString <> "" then if Left( SearchSting, 1 ) <> "@" AND Left( SearchString, 1 ) <> "#" AND Left( SearchString, 1 ) <> "$" then TheQuery = "@Contents " + SearchString else TheQuery = SearchString end if Composer = " & " end if if FSRestVal <> "any" then if FSRestVal <> "other" then TheQuery = "(@Size " + FSRest + FSRestVal + ") " + Composer + TheQuery else TheQuery = "(@Size " + FSRest + FSRestOther + ") " + Composer + TheQuery end if Composer = " & " end if if DocAuthorRestriction <> "" then TheQuery = "(@DocAuthor " + DocAuthorRestriction + ") " + Composer + TheQuery Composer = " & " end if if FMMod <> "" AND FMMod <> "any" then if FMMod <> "since" then TheQuery = "(@Write > " + FMMod + ") " + Composer + TheQuery else TheQuery = "(@Write > " + FMModDate + ") " + Composer + TheQuery end if end if %> <%if DebugFlag then%> TheQuery = <%=TheQuery%> <%end if%> <% Q.Query = TheQuery Q.SortBy = SortBy if Scope <> "/" then set Util = Server.CreateObject("ixsso.Util") Util.AddScopeToQuery Q, Scope, "DEEP" set Util = nothing end if if ColSet = 1 then Q.Columns = "DocTitle, vpath, path, filename, size, write, characterization" RecordsPerPage = 10 elseif ColSet = 2 then Q.Columns = "vpath, path" RecordsPerPage = 200 elseif ColSet = 3 then Q.Columns = "filename, vpath, size, write" RecordsPerPage = 25 end if set RS = Q.CreateRecordSet("nonsequential") RS.PageSize = RecordsPerPage 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 %>
" end if %> <% if ColSet = 1 then%> <% elseif ColSet = 2 then%> <% elseif ColSet = 3 then%> <% end if%> <%if DebugFlag then%>
RS.EOF = <%=CStr(RS.EOF)%> NextRecordNumber = <%=NextRecordNumber%> LastRecordOnPage = <%=LastRecordOnPage%><%end if%> <% Do While Not RS.EOF and NextRecordNumber <= LastRecordOnPage %> <% if ColSet = 1 then%> <% elseif ColSet = 2 then%> <% elseif ColSet = 3 then%> <% end if%> <% RS.MoveNext NextRecordNumber = NextRecordNumber+1 Loop %> <% if ColSet = 1 then%> <% elseif ColSet = 2 then%> <% elseif ColSet = 3 then%> <% end if%>
<%
else ' NOT RS.EOF
if NextRecordNumber = 1 then
Response.Write "No documents matched the query
" else Response.Write "No more documents in the query
" end if end if ' NOT RS.EOF %> <%if Q.OutOfDate then%>
The index is out of date.
<%end if%>
<%if Q.QueryIncomplete then%>
The query is too expensive to complete.
<%end if%>
<%if Q.QueryTimedOut then%>
The query took too long to complete.
<%end if%>
<%SaveQuery = TRUE%> <%end if%> <%if Not RS.EOF then%> | <%SaveQuery = TRUE%> <%end if%> |