Como utilizar uma aplicação do ASP.NET para consultar um catálogo de serviço de indexação utilizando o Visual C# .NET

Traduções de Artigos Traduções de Artigos
Artigo: 820983 - Ver produtos para os quais este artigo se aplica.
Para obter uma Microsoft Visual Basic .NET versão deste artigo, consulte 820105.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo descreve como criar um catálogo de serviço de indexação. Este artigo também descreve como utilizar uma Web do ASP.NET aplicação consulta o serviço de indexação catálogos.

Criar uma pasta de teste

  1. Crie uma nova pasta na unidade C do computador. Nome da pasta myCatalogFolder .
  2. Inicie um editor de texto, tal como o bloco de notas e, em seguida, cole o seguinte texto num documento em branco:
    Este é o documento de teste para testar a consulta de servidor do índice e o nome deste ficheiro é IndexText.text.
  3. Guarde o ficheiro como C:\myCatalogFolder\IndexText.txt .

Criar um catálogo de serviço de indexação

  1. Clique em Iniciar , clique em Executar , escreva compmgmt.msc e, em seguida, clique em OK .
  2. Expanda Serviços e aplicações .
  3. Clique com o botão direito do rato em Serviço de indexação , aponte para Novo e, em seguida, clique em catálogo .
  4. Na caixa de texto nome , escreva TestCatalog .
  5. Clique em Procurar , localize a pasta onde pretende colocar o catálogo e, em seguida, clique duas vezes em OK .
  6. Em novo catálogo criado , receberá a seguinte mensagem:
    Catálogo permanecerá offline até que o serviço de indexação é reiniciado
    Clique em OK .
  7. Clique com o botão direito do rato em Serviço de indexação e, em seguida, clique em Parar para parar o serviço de indexação.
  8. Clique com o botão direito do rato em Serviço de indexação e, em seguida, clique em Iniciar para reiniciar o serviço de indexação.

Definir o âmbito do catálogo

Depois de criar um novo catálogo, adicione as pastas que pretende incluir no âmbito do catálogo. O âmbito é o conjunto de pastas que está incluído no catálogo e excluído do catálogo. O âmbito define o conteúdo que é incluído no índice e excluído do índice. Para cada pasta que é incluída ou excluída, todas as respectivas subpastas também estão incluídas ou excluídas.
  1. Faça duplo clique em TestCatalog (o catálogo criado na secção "Criar uma pasta de teste").
  2. Clique com o botão direito do rato em directórios , aponte para Novo e, em seguida, clique em directório .
  3. Clique em Procurar , localize e clique na pasta que pretende adicionar ( C:\myCatalogFolder\ ) e, em seguida, clique em OK .

    Nota Em incluir no índice? , clique em Sim .

Criar uma aplicação Web do ASP.NET

  1. Inicie o Microsoft Visual Studio NET..
  2. Utilizar o Visual C# .NET para criar um novo ASP.NET Web Application projecto. Nome do projecto IndexQueryApp . Por predefinição, é criado WebForm1.aspx.
  3. Na vista de estrutura, clique com o botão direito do rato WebForm1 e, em seguida, clique em Vista de código HTML .
  4. Replace the existing HTML code with following sample code:
    <%@ 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. No Solution Explorer, clique com o botão direito do rato WebForm1 e, em seguida, clique em Código . Substitua o código existente com o seguinte código de exemplo:
    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. No menu criar , clique em criar soluções .

Executar a aplicação

  1. No menu Debug , clique em Iniciar para executar a aplicação.
  2. A consulta do tipo documento do word na caixa de texto. (É possível escrever qualquer palavra a partir do ficheiro IndexText.txt .)
  3. Clique no botão . Repare que a grelha de dados e contém os resultados de consulta de IndexText.txt que o ficheiro.

Resolução de problemas

Aguarde que o índice a ser criado

O serviço de indexação automaticamente processa o TestCatalog e prepara uma lista de palavras para indexação. Quando executa o código de exemplo, poderá não receber os resultados mais rapidamente como esperado porque o serviço de indexação requer algum tempo a construir o índice remissivo.

Para verificar o estado do índice, inicie o clique de snap-in da MMC de gestão de computadores O serviço de indexação no painel da direita e, em seguida, verifique se o valor da Lista de palavras para TestCatalog é superior a zero. Se o Word lista valor for zero, aguarde que o índice para construir a lista.

Índice dados podem ter ficado danificados

Se a procura não devolver os resultados da procura esperado quando consulta o índice, os dados do índice podem ter ficado danificados. Para resolver este problema, pare e reinicie o serviço de indexação para indexar novamente todos os documentos. Para o fazer, siga estes passos:
  1. Clique em Iniciar , aponte para definições e, em seguida, clique em Painel de controlo .
  2. Faça duplo clique Ferramentas administrativas e, em seguida, faça duplo clique em Gestão de computadores .
  3. Na árvore da consola, faça duplo clique em Serviços e aplicações .
  4. Clique com o botão direito do rato em Serviço de indexação e, em seguida, clique em Parar .
  5. Clique com o botão direito do rato novamente no Serviço de indexação e, em seguida, clique em Iniciar .

Referências

Para obter mais informações sobre o serviço de indexação, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms689644.aspx
Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
311521A indexar conteúdo ASP.NET utilizando o Microsoft Index Server
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
308202Como criar e configurar um catálogo para indexação


Propriedades

Artigo: 820983 - Última revisão: 12 de janeiro de 2007 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Windows Indexing Service 2.0
Palavras-chave: 
kbmt kbquery kbservice kbdatabinding kbdataadapter kbwebserver kbwebforms kbhowtomaster KB820983 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 820983

Submeter comentários

 

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