asp query form

Discussion in 'ASP General' started by Harvey, Nov 5, 2004.

  1. Harvey

    Harvey Guest

    Hi,

    I try to write an asp query form that lets client search any text-string and
    display all pages in my web server that contain the text. I have IIS 6.0 on a
    server 2003. The MSDN site says there is a sample file called Ixtrasp.asp,
    but I could not find it in my system although I installed indexing service. I
    followed the steps in MSDN site to create a basic .asp query form (too long
    to post it here), but it always displays:

    No documents matched the query

    The index is out of date.
    Page of 0

    Under the computer's manager -- indexing services -- web, the "Query the
    Catalog" works, displaying all pages in my web server that contain the
    searching text.

    Can somebody help me? either tell me where to find Ixtrasp.asp, or any
    similar sample asp page for searching text-string in the web pages (not
    search in database)?

    Thanks!

    Harvey
     
    Harvey, Nov 5, 2004
    #1
    1. Advertising

  2. Harvey

    Jeff Dillon Guest

    Post the relevant code. You should be able to create a reproducible page
    with only a few lines of code.

    Jeff

    "Harvey" <> wrote in message
    news:...
    > Hi,
    >
    > I try to write an asp query form that lets client search any text-string

    and
    > display all pages in my web server that contain the text. I have IIS 6.0

    on a
    > server 2003. The MSDN site says there is a sample file called

    Ixtrasp.asp,
    > but I could not find it in my system although I installed indexing

    service. I
    > followed the steps in MSDN site to create a basic .asp query form (too

    long
    > to post it here), but it always displays:
    >
    > No documents matched the query
    >
    > The index is out of date.
    > Page of 0
    >
    > Under the computer's manager -- indexing services -- web, the "Query the
    > Catalog" works, displaying all pages in my web server that contain the
    > searching text.
    >
    > Can somebody help me? either tell me where to find Ixtrasp.asp, or any
    > similar sample asp page for searching text-string in the web pages (not
    > search in database)?
    >
    > Thanks!
    >
    > Harvey
     
    Jeff Dillon, Nov 5, 2004
    #2
    1. Advertising

  3. Harvey

    Harvey Guest

    I believe there must be a simple code to do it. But, I just haven't found it.
    Here is the code that I copied from MSDN web site:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> </SCRIPT>
    <TITLE>Index Server Search Form</TITLE>
    <META NAME="DESCRIPTION" CONTENT="Sample ASP query form for Microsoft
    Index Server">
    <META NAME="KEYWORDS" CONTENT="query, content, hit, asp">
    <META NAME="MS.LOCALE" CONTENT="EN-US">
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;
    charset=Windows-1252">
    <%
    NewQuery = FALSE
    UseSavedQuery = FALSE
    QueryForm = Request.ServerVariables( "PATH_INFO" )
    SearchString = ""
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
    SearchString = Request.Form("SearchString")
    pg = Request.Form("pg")
    if pg <> "" then
    NextPageNumber = pg
    NewQuery = FALSE
    UseSavedQuery = TRUE
    else
    NewQuery = SearchString <> ""
    end if
    end if
    %>
    </HEAD>

    <TABLE>
    <TR> <TD><H1>Sample ASP Search Form</H1></TD> </TR>
    </TABLE>

    <HR WIDTH=75% ALIGN=center SIZE=3>
    <p>
    <TABLE>
    <TR> <TD ALIGN=LEFT>Enter your query below:</TD> </TR>
    <TR>
    <TD>
    <FORM ACTION="<%= QueryForm%>" METHOD=POST>
    <TABLE> <TR>
    <TD><INPUT TYPE="TEXT" NAME="SearchString" SIZE="60"
    MAXLENGTH="100" VALUE="<%=SearchString%>"></TD>
    <TD><INPUT TYPE="SUBMIT" NAME="Action" VALUE="New Query"></TD>
    </TR>
    </TABLE>
    </FORM>
    </TD>
    </TR>
    </TABLE>
    <BR>
    <%
    if SearchString <> "" then
    if NewQuery then
    set Session("Query") = nothing
    set Session("Recordset") = nothing
    NextRecordNumber = 1

    set Q = Server.CreateObject("ixsso.Query")
    set util = Server.CreateObject("ixsso.util")
    Q.Query = SearchString
    Q.SortBy = "rank[d]"
    Q.Columns = "DocTitle, vpath, path, filename, size, write,
    characterization"
    util.AddScopeToQuery Q, "/Myfiles", "deep"

    set RS = Q.CreateRecordSet("nonsequential")

    RS.PageSize = 10
    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>"
    %>
    <dl>
    <!-- BEGIN first row of query results table -->
    <% 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 virtual path.
    %>
    <p>
    <dt><%= NextRecordNumber%>.
    <%if VarType(RS("DocTitle")) = 1 or RS("DocTitle") = "" then%>
    <b><a href="<%=RS("vpath")%>"><%= Server.HTMLEncode(
    RS("filename") )%></a></b>
    <%else%>
    <b><a href="<%=RS("vpath")%>"><%=
    Server.HTMLEncode(RS("DocTitle"))%></a></b>
    <%end if%>
    <dd>
    <%if VarType(RS("characterization")) = 8 and RS("characterization")
    <> "" then%>
    <b><i>Abstract: </I></b><%=
    Server.HTMLEncode(RS("characterization"))%>
    <br>
    <%end if%>
    <cite>
    <a
    href="<%=RS("vpath")%>">http://<%=Request("server_name")%><%=RS("vpath")%></a>
    <font size=-1> - <%if RS("size") = "" then%>(size and time
    unknown)<%else%>size <%=RS("size")%> bytes - <%=RS("write")%> GMT<%end
    if%></font>
    </cite>
    <%
    RS.MoveNext
    NextRecordNumber = NextRecordNumber+1
    Loop
    %>
    </dl>
    <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 the index is out of date, display the fact -->
    <%if Q.OutOfDate then%>
    <P>
    <I><B>The index is out of date.</B></I><BR>
    <%end if%>
    <!--
    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
    -->
    <%if Q.QueryIncomplete then%>
    <P>
    <I><B>The query is too expensive to complete.</B></I><BR>
    <%end if%>
    <!--
    If the query took too long to execute (for example, if too much work
    was required to resolve the query), let the user know
    -->
    <%if Q.QueryTimedOut then%>
    <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="POST">
    <INPUT TYPE="HIDDEN" NAME="SearchString"
    VALUE="<%=SearchString%>">
    <INPUT TYPE="HIDDEN" name="pg" VALUE="<%=CurrentPage-1%>" >

    <input type="submit" value="Previous <%=RS.PageSize%> documents">
    </form>
    </td>
    <%SaveQuery = TRUE%>
    <%end if%>
    <!--
    This is the "next" button.
    This button retrieves the next page of documents for the query.
    If the RS.RecordCount is available, the number of
    documents on the next page will be displayed.
    -->
    <%if Not RS.EOF then%>
    <td align=right>
    <form action="<%= QueryForm%>" method="POST">
    <INPUT TYPE="HIDDEN" NAME="SearchString"
    VALUE="<%=SearchString%>">
    <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
    elseif not NewQuery then
    Response.Write ""
    else
    Response.Write "Please enter a word or phrase to search for."
    end if
    %></html>


    "Jeff Dillon" wrote:

    > Post the relevant code. You should be able to create a reproducible page
    > with only a few lines of code.
    >
    > Jeff
    >
    > "Harvey" <> wrote in message
    > news:...
    > > Hi,
    > >
    > > I try to write an asp query form that lets client search any text-string

    > and
    > > display all pages in my web server that contain the text. I have IIS 6.0

    > on a
    > > server 2003. The MSDN site says there is a sample file called

    > Ixtrasp.asp,
    > > but I could not find it in my system although I installed indexing

    > service. I
    > > followed the steps in MSDN site to create a basic .asp query form (too

    > long
    > > to post it here), but it always displays:
    > >
    > > No documents matched the query
    > >
    > > The index is out of date.
    > > Page of 0
    > >
    > > Under the computer's manager -- indexing services -- web, the "Query the
    > > Catalog" works, displaying all pages in my web server that contain the
    > > searching text.
    > >
    > > Can somebody help me? either tell me where to find Ixtrasp.asp, or any
    > > similar sample asp page for searching text-string in the web pages (not
    > > search in database)?
    > >
    > > Thanks!
    > >
    > > Harvey

    >
    >
    >
     
    Harvey, Nov 5, 2004
    #3
  4. Harvey

    Jeff Dillon Guest

    Sorry, I won't go through that much code. Forget about the POST and
    variables...hard code everything.

    Reduce the number of lines to 10 or so...

    Jeff

    "Harvey" <> wrote in message
    news:D...
    > I believe there must be a simple code to do it. But, I just haven't found

    it.
    > Here is the code that I copied from MSDN web site:
    >
    > <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
    > <HTML>
    > <HEAD>
    > <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> </SCRIPT>
    > <TITLE>Index Server Search Form</TITLE>
    > <META NAME="DESCRIPTION" CONTENT="Sample ASP query form for Microsoft
    > Index Server">
    > <META NAME="KEYWORDS" CONTENT="query, content, hit, asp">
    > <META NAME="MS.LOCALE" CONTENT="EN-US">
    > <META HTTP-EQUIV="Content-Type" CONTENT="text/html;
    > charset=Windows-1252">
    > <%
    > NewQuery = FALSE
    > UseSavedQuery = FALSE
    > QueryForm = Request.ServerVariables( "PATH_INFO" )
    > SearchString = ""
    > if Request.ServerVariables("REQUEST_METHOD") = "POST" then
    > SearchString = Request.Form("SearchString")
    > pg = Request.Form("pg")
    > if pg <> "" then
    > NextPageNumber = pg
    > NewQuery = FALSE
    > UseSavedQuery = TRUE
    > else
    > NewQuery = SearchString <> ""
    > end if
    > end if
    > %>
    > </HEAD>
    >
    > <TABLE>
    > <TR> <TD><H1>Sample ASP Search Form</H1></TD> </TR>
    > </TABLE>
    >
    > <HR WIDTH=75% ALIGN=center SIZE=3>
    > <p>
    > <TABLE>
    > <TR> <TD ALIGN=LEFT>Enter your query below:</TD> </TR>
    > <TR>
    > <TD>
    > <FORM ACTION="<%= QueryForm%>" METHOD=POST>
    > <TABLE> <TR>
    > <TD><INPUT TYPE="TEXT" NAME="SearchString" SIZE="60"
    > MAXLENGTH="100" VALUE="<%=SearchString%>"></TD>
    > <TD><INPUT TYPE="SUBMIT" NAME="Action" VALUE="New Query"></TD>
    > </TR>
    > </TABLE>
    > </FORM>
    > </TD>
    > </TR>
    > </TABLE>
    > <BR>
    > <%
    > if SearchString <> "" then
    > if NewQuery then
    > set Session("Query") = nothing
    > set Session("Recordset") = nothing
    > NextRecordNumber = 1
    >
    > set Q = Server.CreateObject("ixsso.Query")
    > set util = Server.CreateObject("ixsso.util")
    > Q.Query = SearchString
    > Q.SortBy = "rank[d]"
    > Q.Columns = "DocTitle, vpath, path, filename, size, write,
    > characterization"
    > util.AddScopeToQuery Q, "/Myfiles", "deep"
    >
    > set RS = Q.CreateRecordSet("nonsequential")
    >
    > RS.PageSize = 10
    > 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>"
    > %>
    > <dl>
    > <!-- BEGIN first row of query results table -->
    > <% 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 virtual path.
    > %>
    > <p>
    > <dt><%= NextRecordNumber%>.
    > <%if VarType(RS("DocTitle")) = 1 or RS("DocTitle") = "" then%>
    > <b><a href="<%=RS("vpath")%>"><%= Server.HTMLEncode(
    > RS("filename") )%></a></b>
    > <%else%>
    > <b><a href="<%=RS("vpath")%>"><%=
    > Server.HTMLEncode(RS("DocTitle"))%></a></b>
    > <%end if%>
    > <dd>
    > <%if VarType(RS("characterization")) = 8 and

    RS("characterization")
    > <> "" then%>
    > <b><i>Abstract: </I></b><%=
    > Server.HTMLEncode(RS("characterization"))%>
    > <br>
    > <%end if%>
    > <cite>
    > <a
    >

    href="<%=RS("vpath")%>">http://<%=Request("server_name")%><%=RS("vpath")%></
    a>
    > <font size=-1> - <%if RS("size") = "" then%>(size and time
    > unknown)<%else%>size <%=RS("size")%> bytes - <%=RS("write")%> GMT<%end
    > if%></font>
    > </cite>
    > <%
    > RS.MoveNext
    > NextRecordNumber = NextRecordNumber+1
    > Loop
    > %>
    > </dl>
    > <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 the index is out of date, display the fact -->
    > <%if Q.OutOfDate then%>
    > <P>
    > <I><B>The index is out of date.</B></I><BR>
    > <%end if%>
    > <!--
    > 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
    > -->
    > <%if Q.QueryIncomplete then%>
    > <P>
    > <I><B>The query is too expensive to complete.</B></I><BR>
    > <%end if%>
    > <!--
    > If the query took too long to execute (for example, if too much work
    > was required to resolve the query), let the user know
    > -->
    > <%if Q.QueryTimedOut then%>
    > <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="POST">
    > <INPUT TYPE="HIDDEN" NAME="SearchString"
    > VALUE="<%=SearchString%>">
    > <INPUT TYPE="HIDDEN" name="pg" VALUE="<%=CurrentPage-1%>" >
    >
    > <input type="submit" value="Previous <%=RS.PageSize%>

    documents">
    > </form>
    > </td>
    > <%SaveQuery = TRUE%>
    > <%end if%>
    > <!--
    > This is the "next" button.
    > This button retrieves the next page of documents for the query.
    > If the RS.RecordCount is available, the number of
    > documents on the next page will be displayed.
    > -->
    > <%if Not RS.EOF then%>
    > <td align=right>
    > <form action="<%= QueryForm%>" method="POST">
    > <INPUT TYPE="HIDDEN" NAME="SearchString"
    > VALUE="<%=SearchString%>">
    > <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
    > elseif not NewQuery then
    > Response.Write ""
    > else
    > Response.Write "Please enter a word or phrase to search for."
    > end if
    > %></html>
    >
    >
    > "Jeff Dillon" wrote:
    >
    > > Post the relevant code. You should be able to create a reproducible page
    > > with only a few lines of code.
    > >
    > > Jeff
    > >
    > > "Harvey" <> wrote in message
    > > news:...
    > > > Hi,
    > > >
    > > > I try to write an asp query form that lets client search any

    text-string
    > > and
    > > > display all pages in my web server that contain the text. I have IIS

    6.0
    > > on a
    > > > server 2003. The MSDN site says there is a sample file called

    > > Ixtrasp.asp,
    > > > but I could not find it in my system although I installed indexing

    > > service. I
    > > > followed the steps in MSDN site to create a basic .asp query form (too

    > > long
    > > > to post it here), but it always displays:
    > > >
    > > > No documents matched the query
    > > >
    > > > The index is out of date.
    > > > Page of 0
    > > >
    > > > Under the computer's manager -- indexing services -- web, the "Query

    the
    > > > Catalog" works, displaying all pages in my web server that contain the
    > > > searching text.
    > > >
    > > > Can somebody help me? either tell me where to find Ixtrasp.asp, or any
    > > > similar sample asp page for searching text-string in the web pages

    (not
    > > > search in database)?
    > > >
    > > > Thanks!
    > > >
    > > > Harvey

    > >
    > >
    > >
     
    Jeff Dillon, Nov 5, 2004
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Learner
    Replies:
    1
    Views:
    1,004
    Marina Levit [MVP]
    Jan 30, 2006
  2. Anonymous
    Replies:
    0
    Views:
    1,513
    Anonymous
    Oct 13, 2005
  3. David Gordon

    xpath query query

    David Gordon, May 18, 2005, in forum: XML
    Replies:
    2
    Views:
    805
    David Gordon
    May 18, 2005
  4. Eric Nelson
    Replies:
    5
    Views:
    1,544
    Alexey Smirnov
    Feb 4, 2009
  5. Roland Hall

    ASP LIKE query using parameterized query

    Roland Hall, Jan 12, 2007, in forum: ASP General
    Replies:
    8
    Views:
    228
    Roland Hall
    Jan 13, 2007
Loading...

Share This Page