Cómo utilizar una aplicación de ASP.NET para consultar un catálogo de servicios de Index Server mediante Visual C#.

Para una versión de Microsoft Visual Basic .NET de este artículo, consulte 820105 .

Resumen

En este artículo paso a paso se describe cómo crear un catálogo de servicios de Index Server. Este artículo también describe cómo utilizar una aplicación Web de ASP.NET a los catálogos de servicios de Index Server de consulta.

Volver al principio

Crear una carpeta de prueba

  1. Cree una carpeta nueva en la unidad C del equipo. Nombre de la carpeta myCatalogFolder.
  2. Inicie un editor de texto como el Bloc de notas y, a continuación, pegue el siguiente texto en un documento en blanco:
    Se trata de documentos de prueba para probar la consulta de index server y el nombre de archivo es IndexText.text.
  3. Guarde el archivo como
    C:\myCatalogFolder\IndexText.txt.
Volver al principio

Crear un catálogo de servicios de Index Server

  1. Haga clic en Inicio, haga clic en Ejecutar, escriba compmgmt.msc y, a continuación, haga clic en Aceptar.
  2. Expanda servicios y aplicaciones.
  3. Haga clic en Servicio de Index Server, seleccione
    De nuevoy, a continuación, haga clic en catálogo.
  4. En el cuadro de texto nombre , escriba
    TestCatalog.
  5. Haga clic en Examinar, busque la carpeta donde desea colocar el catálogo y, a continuación, haga clic en Aceptar dos veces.
  6. Con el Nuevo catálogo creado, recibirá el siguiente mensaje:
    Catálogo permanecerá sin conexión hasta que se reinicie el servicio de Index Server
    Haga clic en Aceptar.
  7. Haga clic en Servicio de Index Servery, a continuación, haga clic en Detener para detener el servicio de Index Server.
  8. Haga clic en Servicio de Index Servery, a continuación, haga clic en Iniciar para reiniciar el servicio de Index Server.
Volver al principio

Definir el ámbito del catálogo

Después de crear un nuevo catálogo, agregue las carpetas que desea incluir en el ámbito del catálogo. El ámbito es el conjunto de carpetas que se incluye en el catálogo y excluidos del catálogo. El ámbito define el contenido que se incluye en el índice y excluyen del índice. Para cada carpeta que se incluyan o excluyan, todas sus subcarpetas también se incluirán o excluirán.
  1. Haga doble clic en TestCatalog (el catálogo que creó en la sección "Crear una carpeta de prueba").
  2. Ratón de directorios, seleccione
    De nuevoy, a continuación, haga clic en directorio.
  3. Haga clic en Examinar, busque y, a continuación, haga clic en la carpeta que desea agregar (C:\myCatalogFolder\) y, a continuación, haga clic en Aceptar.

    Nota: Bajo incluir en el índice?, haga clic en
    .
Volver al principio

Crear una aplicación Web de ASP.NET

  1. Inicie Microsoft Visual Studio. NET.
  2. Utilice Visual C# .NET para crear un nuevo proyecto de Aplicación Web de ASP.NET . Denomine el proyecto IndexQueryApp. De forma predeterminada, se crea WebForm1.aspx.
  3. En la vista Diseño, haga clic en
    WebForm1y, a continuación, haga clic en Ver código fuente HTML.
  4. Reemplace el código HTML existente con el código de ejemplo siguiente:
    <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="IndexQueryApp.WebForm1" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm3</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="WebForm3" method="post" runat="server">
    <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 90px; POSITION: absolute; TOP: 136px" runat="server"></asp:TextBox>
    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 328px; POSITION: absolute; TOP: 138px" runat="server"></asp:DataGrid>
    <asp:Button id="Button1" style="Z-INDEX: 103; LEFT: 92px; POSITION: absolute; TOP: 199px" runat="server" Text="Button"></asp:Button>
    </form>
    </body>
    </HTML>
  5. En el Explorador de soluciones, haga clic en
    WebForm1y, a continuación, haga clic en Ver código. Reemplace el código existente con el código de ejemplo siguiente:
    using System;using System.Data;

    namespace IndexQueryApp
    {
    public class WebForm1 : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Button Button1;

    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page here.
    }

    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: The ASP.NET Web Form Designer requires this call.
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method by using the code editor.
    /// </summary>
    private void InitializeComponent()
    {
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load);
    }
    #endregion

    private void Button1_Click(object sender, System.EventArgs e)
    {
    // Catalog Name
    string strCatalog = "TestCatalog";
    string strQuery="";

    strQuery = "Select DocTitle,Filename,Size,PATH,URL from Scope() where FREETEXT('" +TextBox1.Text+ "')";
    // TextBox1.Text is the word that you type in the text box to query by using Indexing Service.

    string connstring = "Provider=MSIDXS.1;Integrated Security .='';Data Source="+strCatalog;

    System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connstring);
    conn.Open();

    System.Data.OleDb.OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter(strQuery, conn);

    System.Data.DataSet testDataSet = new System.Data.DataSet();

    cmd.Fill(testDataSet, "SearchResults");
    DataView source = new DataView(testDataSet.Tables[0]);
    DataGrid1.DataSource = source;
    DataGrid1.DataBind();
    }
    }
    }

  6. En el menú Generar , haga clic en Generar solución.
Volver al principio

Ejecutar la aplicación

  1. En el menú Depurar , haga clic en
    Iniciar para ejecutar la aplicación.
  2. Escriba la palabra de consulta documento en el cuadro de texto. (Puede escribir cualquier palabra del archivo IndexText.txt ).
  3. Haga clic en el botón. Observe que aparece la cuadrícula de datos y que contiene los resultados de la consulta desde el archivo IndexText.txt.
Volver al principio

Solucionar problemas

Espere a que el índice se genere

Servicio de Index Server automáticamente procesa el TestCatalog y prepara una lista de palabras para la indización. Al ejecutar el código de ejemplo, no puede recibir los resultados tan rápidamente como se espera porque servicios de Index Server requiere cierto tiempo para crear el índice.

Para comprobar el estado del índice, inicie el complemento MMC Administración de equipos, haga clic en Servicio de Index Server en el panel derecho y, a continuación, compruebe que el valor de la Lista de palabras para TestCatalog es mayor que cero. Si el valor de la Lista de palabras es cero, espere a que el índice generar la lista.

Datos de índice pueden resultar dañados

Si la búsqueda no devuelve los resultados esperados cuando consulta el índice, los datos de índice que estén dañados. Para solucionar este problema, detenga y reinicie Servicios de Index Server para indizar todos los documentos de nuevo. Para ello, siga estos pasos:
  1. Haga clic en Inicio, elija
    Configuracióny, a continuación, haga clic en Panel de Control.
  2. Haga doble clic en Herramientas administrativasy, a continuación, haga doble clic en Administración de equipos.
  3. En el árbol de consola, haga doble clic en servicios y aplicaciones.
  4. Haga clic en Servicio de Index Servery, a continuación, haga clic en Detener.
  5. Nuevo haga clic en Servicio de Index Server y, a continuación, haga clic en Inicio.
Volver al principio

Referencias

Para obtener más información acerca de los servicios de Index Server, visite el siguiente sitio Web de Microsoft:Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

311521 cómo indizar el contenido ASP.NET utilizando Microsoft Index Server

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

308202 cómo crear y configurar un catálogo de Index Server

Nº de error: 8566 (Mantenimiento de contenido)

Volver al principio
Propiedades

Id. de artículo: 820983 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios