ASP.NET 응용 프로그램을 Visual C# .NET을 사용하여 인덱싱 서비스 카탈로그 쿼리 방법을

기술 자료 번역 기술 자료 번역
기술 자료: 820983 - 이 문서가 적용되는 제품 보기.
이 문서에서는 Microsoft Visual Basic .NET 버전에 820105 참조하십시오.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 인덱싱 서비스 카탈로그 만드는 방법을 설명합니다. 이 문서에서는 ASP.NET 웹 사용하는 방법도 설명합니다 쿼리 인덱싱 서비스 카탈로그 응용 프로그램.

테스트 폴더 만들기

  1. 컴퓨터에 C 드라이브에 새 폴더를 만듭니다. myCatalogFolder 폴더의 이름을 지정합니다.
  2. 메모장과 같은 텍스트 편집기를 시작하고 빈 문서에서 다음 텍스트를 붙여 넣습니다.
    이 테스트 문서를 인덱스 서버 쿼리를 테스트할 수 있고 이 파일 이름을 IndexText.text.
  3. C:\myCatalogFolder\IndexText.txt 파일을 저장하십시오.

인덱싱 서비스 카탈로그 만들기

  1. 시작 을 누르고, 실행 을, compmgmt.msc 를 입력한 다음 확인 을 누릅니다.
  2. 서비스 및 응용 프로그램을 확장하십시오.
  3. 인덱싱 서비스를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 카탈로그 를 클릭하십시오.
  4. TestCatalog이름 텍스트 상자에 입력하십시오.
  5. 찾아보기 를 클릭하여 카탈로그 추가할 폴더를 찾은 다음 확인 을 두 번 누릅니다.
  6. 새 카탈로그를 만든, 다음과 같은 메시지가 나타납니다.
    인덱싱 서비스를 다시 시작할 때까지 카탈로그가 오프라인으로 남아 있습니다.
    확인 을 클릭하십시오.
  7. 인덱싱 서비스 를 마우스 오른쪽 단추로 클릭한 다음 인덱싱 서비스를 중지하려면 중지 를 클릭하십시오.
  8. 인덱싱 서비스 를 마우스 오른쪽 단추로 누른 다음 인덱싱 서비스를 다시 시작하려면 시작 을 누릅니다.

카탈로그의 범위 정의

새 카탈로그를 만든 다음 카탈로그의 범위에 포함하려는 폴더를 추가하십시오. 카탈로그에서 포함되며 카탈로그에서 제외된 폴더 집합을 범위입니다. 범위는 인덱스에 포함할 수 있으며 인덱스에서 제외된 콘텐츠를 정의합니다. 포함하거나 제외할 각 폴더에 대해 모든 하위 또한 제외된 포함되거나 있습니다.
  1. TestCatalog ("테스트 폴더 만들기" 절에서 만든 카탈로그)를 두 번 클릭하십시오.
  2. 디렉터리 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 디렉터리 를 클릭하십시오.
  3. 찾아보기 를 클릭하여, 찾습니다 (C:\myCatalogFolder\)을 추가할 폴더를 클릭한 다음 다음 확인 을 누릅니다.

    참고인덱스에 포함?, 를 누릅니다.

ASP.NET 웹 응용 프로그램 만들기

  1. Microsoft Visual Studio .NET 시작하십시오.
  2. Visual C# .NET을 사용하여 새 만들려면 ASP.NET 웹 응용 프로그램 프로젝트. IndexQueryApp 프로젝트를 이름을 지정합니다. 기본적으로 WebForm1.aspx가 만들어집니다.
  3. 디자인 보기에서 WebForm1, 마우스 오른쪽 단추로 클릭한 다음 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. 솔루션 탐색기에서 WebForm1, 마우스 오른쪽 단추로 클릭한 다음 코드 보기를 클릭하십시오. 기존 코드를 다음 예제 코드로 바꿉니다:
    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. 빌드 메뉴에서 눌러 빌드 솔루션.

응용 프로그램 실행

  1. 디버그 메뉴에서 응용 프로그램을 실행하려면 시작 을 클릭하십시오.
  2. 쿼리 단어가 문서에 텍스트 상자에 입력하십시오. IndexText.txt 파일에서 모든 단어를 입력할 수 있습니다.
  3. 단추 를 클릭하십시오. 데이터 표가 나타나며 쿼리 결과에서 IndexText.txt 포함하는 알림 파일.

문제 해결

인덱스를 빌드할 때까지 기다립니다.

인덱싱 서비스는 해당 TestCatalog 자동으로 처리하고 인덱싱에 단어 목록을 준비합니다. 샘플 코드를 실행하면 인덱싱 서비스의 인덱스를 작성하는 데 시간이 필요하기 때문에 예상한 대로 신속하게 결과를 나타날 수 없습니다.

인덱스의 상태를 확인하려면 컴퓨터 관리 MMC 스냅인 in. Click 시작 인덱싱 서비스 를 오른쪽 창에 다음 TestCatalog 단어 목록 값을 0보다 큰지 확인합니다. 경우 해당 Word 목록 값이 0이면, 빌드 목록에 대한 인덱스를 기다립니다.

인덱스 데이터가 손상되었을 수 있습니다.

인덱스를 쿼리할 때 검색 예상한 검색 결과를 반환하지 않는 경우 인덱스 데이터가 손상되었을 수 있습니다. 이 문제를 해결하려면 중지하고 모든 문서를 다시 인덱싱하려면 인덱싱 서비스를 다시 시작하십시오. 이렇게 하려면 다음과 같이 하십시오.
  1. 시작 을 누르고 설정 가리킨 다음 제어판 을 누릅니다.
  2. 관리 도구 를 두 번 클릭한 다음 컴퓨터 관리 를 두 번 클릭하십시오.
  3. 콘솔 트리에서 서비스 및 응용 프로그램을 두 번 클릭하십시오.
  4. 인덱싱 서비스 를 마우스 오른쪽 단추로 클릭한 다음 중지 를 클릭하십시오.
  5. 인덱싱 서비스 를 다시 마우스 오른쪽 단추로 클릭한 다음 시작 을 클릭하십시오.

참조

인덱싱 서비스에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/ms689644.aspx
자세한 내용은 Microsoft 기술 자료에 있는 문서를 보려면 다음 문서 번호를 클릭하시기 바랍니다:
311521Microsoft 인덱스 서버를 사용하여 ASP.NET 콘텐츠 인덱스를 방법
추가 정보는 다음 문서 번호를 클릭하여 Microsoft 기술 자료에서 확인하십시오:
308202인덱싱을 위해 카탈로그를 구성하는 방법


속성

기술 자료: 820983 - 마지막 검토: 2007년 1월 12일 금요일 - 수정: 3.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • 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
키워드:?
kbmt kbquery kbservice kbdatabinding kbdataadapter kbwebserver kbwebforms kbhowtomaster KB820983 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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