Cómo crear una página de búsqueda personalizada de Index Server mediante el uso de ASP en Expression Web

Seleccione idioma Seleccione idioma
Id. de artículo: 928700 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

En este artículo describe cómo crear una página de búsqueda de Index Server personalizada utilizando páginas Active Server (ASP) de Microsoft Expression Web.

Más información

Paso 1: Instalar Microsoft ASP.NET

Antes de poder utilizar las características ASP en Expression Web, debe instalar ASP.NET. Para obtener más información acerca de cómo instalar ASP.NET, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
928710Cómo instalar ASP.NET para utilizar las características de Active Server (ASP) en Expression Web

Paso 2: Agregar una página de formulario en Expression Web

  1. Inicie Expression Web y, a continuación, abra el sitio Web para el que desee crear una página de búsqueda.
  2. En el menú archivo , elija nuevo , haga clic en página y, a continuación, haga clic en Aceptar .
  3. En el menú Insertar , seleccione HTML y, a continuación, haga clic en Más etiquetas de HTML .
  4. En el panel derecho, expanda Los controles de formulario y haga doble clic en entrada (texto) , haga doble clic en el Cuadro desplegable y, a continuación, haga doble clic en entrada (enviar) .
  5. En la página Web, haga doble clic en el cuadro de texto que ha insertado en el paso 4.
  6. En el cuadro de diálogo Propiedades de cuadro de texto , escriba QUERYTEXT en el cuadro nombre .
  7. En el cuadro valor inicial , escriba <%=Request("QUERYTEXT")%> y, a continuación, haga clic en Aceptar .
  8. En la página Web, haga doble clic en el cuadro desplegable que ha insertado en el paso 4.
  9. En el cuadro de diálogo Colocar abajo propiedades de cuadro , escriba QUERYFIELD en el cuadro nombre .
  10. Haga clic en Agregar y, a continuación, escriba DocAppName en el cuadro de opción .
  11. Haga clic en para desactivar la casilla de verificación Especificar el valor y, a continuación, haga clic en Aceptar .
  12. Repita los pasos 10 y 11 para agregar los elementos de menú siguiente:
    • caracterización
    • FileName
    • DocAuthor
    • DocTitle
  13. Haga clic en Aceptar
  14. Haga clic con el botón secundario el botón Enviar y, a continuación, haga clic en Propiedades de formulario .
  15. Haga clic en Enviar a otro y, a continuación, haga clic en Opciones .
  16. En el cuadro acción , escriba <%=Request.ServerVariables("URL")%> y a continuación, haga clic dos veces en Aceptar .
  17. En el menú archivo , haga clic en Guardar .
  18. En el cuadro nombre de archivo , escriba IndexServerTest.asp y, a continuación, haga clic en Guardar .

Paso 3: Agregar el código ASP de ejemplo a la página

Nota Puede recibir un mensaje de error si pega el código de ejemplo de este artículo en Expression Web. Expression Web puede malinterpretar los corchetes angulares (<). Para evitar este comportamiento, pegue el código de ejemplo en un documento en blanco del Bloc de notas. A continuación, copie el código en Bloc de notas y péguelo en Expression Web.
  1. En la barra de estado del panel derecho, haga clic en el código para cambiar a la vista HTML.
  2. Type or paste the following code before the opening HTML tag:
    <%
      ' Force variable declaration.
      Option Explicit
    
      ' Declare all our variables.
      Dim strQueryText
      Dim strQueryField
      Dim strSQL
      Dim strName
      Dim strValue
      Dim objRS
      Dim objField
    
      ' This is the list of Index Server variables that will appear.
      ' You can customize the list of fields. For more information,
      ' see Microsoft Knowledge Base article 318387.
      Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle, FileName, Create, Access, Characterization, VPath"
    
      ' This is the default Index Server catalog for all Web content.
      ' For information about how to customize this, see Microsoft 
      ' Knowledge Base article 318387.
    
      Const strDataSource = "WEB"
    
      ' Get the value of the user-submitted search query.
      strQueryText = Request("QUERYTEXT")
      ' Set a default value if the user has not submitted anything.
      If Len(strQueryText) = 0 Then strQueryText = "%%"
    
      ' Get the field that the user wants to query against.
      strQueryField = Request("QUERYFIELD")
      ' Set a default value if the user has not specified a field.
      If Len(strQueryField) = 0 Then strQueryField = "DocTitle"
    %>
  3. Escriba o pegue el código siguiente después de la etiqueta de cierre:
    ' Check if the user has entered a value in the form
    If strQueryText <> "%%" Then
    <%
      ' Build the SQL statement from the user-specified options.
      strSQL = "SELECT " & strDisplayFields & " FROM SCOPE() " & _
      	"WHERE ((" & strQueryField & " LIKE '%" & strQueryText & "%') AND " & _
      	"((VPath NOT LIKE '%/_vti%') AND (VPath NOT LIKE '%/_private%')))"
    
      ' Create a recordset object.
      Set objRS = Server.CreateObject("ADODB.Recordset")
    
      ' Open the recordset by using the SQL string with the Index Server provider.
      objRS.Open strSQL,"PROVIDER=MSIDXS;DATA SOURCE=" & strDataSource
    
      ' Are there any records to show?
      If objRS.EOF Then
    
        ' Show a default message if nothing is found.
        Response.Write "No Documents were Found." & vbCrLf  
    
      ' Otherwise...
      Else
    
        ' Start a table.
        Response.Write "<table border=""1"">" & vbCrLf
    
        ' Start the row for the header section.
        Response.Write "<tr>" & vbCrLf
        ' Loop through the fields collection.
        For Each objField in objRS.Fields
          ' Get the field's name.
          strName  = objField.Name
          ' If the field has a name, escape it for HTML.
          If Len(strName)  > 0 Then strName = Server.HTMLEncode(strName)
          ' Output the field name as a table header.
          Response.Write "<th>" & strName & "</th>" & vbCrLf
        Next
        ' End the row for the header section.
        Response.Write "</tr>" & vbCrLf   
    
        ' Loop through all the records.
        While Not objRS.EOF
          ' Start a row in the data section.
          Response.Write "<tr>" & vbCrLf
          ' Loop through the fields collection.
          For Each objField in objRS.Fields
            ' Get the field's value.
            strValue = objField.Value
            ' Look for null values.
            If Len(strValue) > 0 Then
              ' If the value is not null, escape it for HTML.
              strValue = Server.HTMLEncode(strValue)
            Else
              ' Otherwise, make it a non-breaking space character.
              strValue = "&#xa0;"
            End If
          ' Output the field value as table data.
            Response.Write "<td>" & strValue & "</td>" & vbCrLf
          Next
          ' End a row in the data section.
          Response.Write "</tr>" & vbCrLf
          ' Move on to the next record.
          objRS.MoveNext
         Wend
         Response.Write "</table>" & vbCrLf
      End If
    %>
    Else
    ' User has not entered any value in search form
        Response.Write "Please enter a Search Term before submitting the form" & vbCrLf
    End if
  4. En el menú archivo , haga clic en Guardar .

Paso 4: Probar la página ASP de ejemplo

  1. Inicie Expression Web y, a continuación, abra la página IndexServerTest.asp.
  2. En el menú archivo , elija vista previa en el explorador y, a continuación, haga clic en el explorador que desea utilizar.
  3. En el cuadro de texto, escriba los criterios de búsqueda. En la lista, haga clic en el campo que desea consultar.
  4. Haga clic en Enviar . Los resultados que coincidan con su consulta aparecen en una tabla en la página.

Paso 5: Personalizar la página ASP de ejemplo

Utilice uno de los métodos siguientes para personalizar la página ASP de ejemplo.

Método 1: Cambiar el catálogo

Si varios catálogos de Index Server se definen en el servidor Web, puede configurar la página de ejemplo para utilizar un catálogo distinto. Para ello, siga estos pasos:
  1. Inicie Expression Web y abra el ejemplo ASP página que haya creado anteriormente en este artículo.
  2. Haga clic en el código para cambiar a la vista HTML.
  3. Busque la siguiente línea de código:
    Const strDataSource = "WEB"
  4. Cambie el valor de la variable strDataSource en el nombre de su catálogo. Por ejemplo, la línea se ser similar al siguiente código:
    Const strDataSource = My_Custom_Catalog
  5. En el menú archivo , haga clic en Guardar y, a continuación, cierre el archivo.

Método 2: Modificar la lista de campos

  1. Inicie Expression Web y, a continuación, abra la página de Web de ejemplo que creó anteriormente en este artículo.
  2. Haga clic en el código para cambiar a la vista HTML.
  3. Busque la línea de código similar en el siguiente código:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName"
  4. Cambiar la lista de valores. Separe cada nombre de campo con una coma. Por ejemplo, la línea se ser similar al siguiente código:
    Const strDisplayFields = "Rank, DocAuthor, DocAppName, DocTitle"
  5. En el menú archivo , haga clic en Guardar y, a continuación, cierre el archivo.
La siguiente tabla muestra los valores que puede utilizar para la variable strDisplayFields .
Contraer esta tablaAmpliar esta tabla
nombre de campo tipo de campo Descripción
AccesoFecha y horaLa última vez que se tuvo acceso el archivo
Caracterización/ Cadena de textoCaracterización o resumen del documento como calculada por Index Server
CrearFecha y horaLa hora en que el archivo se creó
Directorio/ Cadena de textoLa ruta de acceso física del archivo, sin incluir el nombre de archivo
DocAppName/ Cadena de textoEl nombre de la aplicación que creó el archivo
DocAuthor / Cadena de textoEl autor del documento
DocByteCountNumérico El número de bytes en el documento
DocCategory/ Cadena de textoEl tipo de documento, como un memorando, programación o notas
DocCharRecuento numéricoEl número de caracteres en el documento
DocComments/ Cadena de textoLos comentarios sobre el documento
DocCompany/ Cadena de textoEl nombre de la compañía para la que se escribió el documento
DocCreatedTmFecha y horaLa hora en que el documento se creó
DocEditTimeFecha y horaEl tiempo total que se dedicó a editar el documento
DocHiddenCountNuméricoEl número de diapositivas ocultas de una presentación de Microsoft PowerPoint
DocKeywords/ Cadena de textoLas palabras clave de documento
DocLastAuthor/ Cadena de textoEl usuario más reciente que modificó el documento
DocLastPrintedFecha y horaEl tiempo que se imprimió el documento por última vez
DocLastSavedTmFecha y hora El tiempo que se guardó el documento
DocLineCountNuméricoEl número de líneas que están contenidos en un documento
DocManager/ Cadena de textoEl nombre del administrador del autor del documento
DocNoteCountNuméricoEl número de páginas que tienen notas en una presentación de PowerPoint
DocPageCountNuméricoEl número de páginas del documento
DocParaCountNuméricoEl número de párrafos del documento
DocPartTitles/ Cadena de textoLos nombres de las partes del documento. Por ejemplo, en Microsoft Excel, una hoja de cálculo es una parte del documento. En Microsoft PowerPoint, una diapositiva es una parte del documento. En Microsoft Word, los nombres de archivo de los documentos contenidos en un documento maestro son partes del documento.
DocPresentationTarget/ Cadena de textoEl formato de destino (como 35 mm, impresora o vídeo) para una presentación de PowerPoint
DocRevNumber/ Cadena de textoEl número de versión actual de un documento
DocSlideCountNuméricoEl número de diapositivas en una presentación de PowerPoint
DocSubject/ Cadena de textoEl asunto del documento
DocTemplate/ Cadena de textoEl nombre de la plantilla para el documento
DocTitle/ Cadena de textoEl título del documento
DocWordCountNuméricoEl número de palabras del documento
FileIndexNuméricoEl identificador único del archivo
FileName/ Cadena de textoEl nombre del archivo
HitCountNuméricoEl número de visitas o palabras que coincidan con una consulta, en el archivo
Ruta de acceso/ Cadena de textoLa ruta de acceso física completa del archivo, incluido el nombre de archivo
RangoNuméricoEl rango de la fila. Este valor comprendido entre 0 y 1000. Números mayores indican a coincidencias mejor.
ShortFileName/ Cadena de textoEl nombre de archivo (8.3) corto
TamañoNuméricoEl tamaño del archivo en bytes
VPath/ Cadena de textoRuta de acceso virtual completa de archivo, incluido el nombre de archivo. Si hay más de una posible ruta de acceso, se elige la mejor coincidencia para la consulta específica.
EscrituraFecha y horaLa última vez que el archivo se ha escrito

Solución de problemas

  • Si no se está ejecutando el servicio de indización, recibirá el siguiente mensaje de error:
    Proveedor Microsoft OLE DB para servicios de Index Server error '80041820' servicio no se está ejecutando. / IndexServerTest.asp, línea 44
    Para resolver este problema, inicie el servicio de indización.
  • Si especifica un catálogo que no es válido, que recibirá un mensaje de error es similar a la siguiente mensaje de error:
    Proveedor Microsoft OLE DB para servicios de Index Server error '8004181d' no es ningún catálogo. / IndexServerTest.asp, línea 44
    Para resolver este problema, compruebe el valor de la variable strDataSource . Si es correcta, reinicie el servicio de índice.

Referencias

Para obtener más información acerca de cómo trabajar con el servicio de Index Server de Microsoft Windows 2000, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
185985Utilizar Index Server para consultar y mostrar información de etiqueta META
256276Mensaje de error: no hay ningún catálogo
229282Código ASP está visible al ver código fuente de una página de resultados de Index Server

Propiedades

Id. de artículo: 928700 - Última revisión: lunes, 11 de diciembre de 2006 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Expression Web
Palabras clave: 
kbmt kbexpertiseinter kbhowto KB928700 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 928700

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com