Hoe u een ASP.NET-toepassing met een catalogus van de Indexing-Service query met behulp van Visual C# .NET

Zie 820105 voor een Microsoft Visual Basic .NET-versie van dit artikel.

Samenvatting

Dit artikel wordt stapsgewijs beschreven hoe u een catalogus van de Indexing-Service maakt. In dit artikel wordt ook beschreven hoe u een ASP.NET-webtoepassing tot catalogi van de Indexing-Service query.

terug naar boven

Een testmap maken

  1. Maak een nieuwe map op station C van de computer. Naam van de map myCatalogFolder.
  2. Start een teksteditor zoals Kladblok en plak de volgende tekst in een leeg document:
    Dit testdocument voor het testen van de query voor index server is en deze bestandsnaam is IndexText.text.
  3. Het bestand opslaan als
    C:\myCatalogFolder\IndexText.txt.
terug naar boven

Maak een catalogus van de Indexing-Service

  1. Klik op Start, klik op uitvoeren, typ compmgmt.mscen klik vervolgens op OK.
  2. Vouw Services en toepassingen.
  3. Klik met de rechtermuisknop op Indexing-Service, wijs
    Nieuw, en klik vervolgens op catalogus.
  4. Typ in het tekstvak naam
    TestCatalog.
  5. Klik op Bladeren, Ga naar de map waar u de catalogus wilt en klik vervolgens tweemaal op OK .
  6. Onder een Nieuwe catalogus gemaaktwordt het volgende bericht weergegeven:
    Catalogus blijft off line totdat de Indexing-Service opnieuw wordt gestart
    Klik op OK.
  7. Klik met de rechtermuisknop op Indexing-Serviceen klik vervolgens op stoppen om de Indexing-Service te stoppen.
  8. Klik met de rechtermuisknop op Indexing-Serviceen klik vervolgens op Start om de Indexing-Service opnieuw te starten.
terug naar boven

De draagwijdte van de catalogus

Nadat u een nieuwe catalogus toevoegen de mappen die u wilt opnemen in de scope van de catalogus. Het bereik is de set mappen die is opgenomen in de catalogus en uitgesloten van de catalogus. Het bereik bepaalt de inhoud die is opgenomen in de index en uitgesloten van de index. Voor elke map die wordt opgenomen of uitgesloten, worden alle bijbehorende submappen ook opgenomen of uitgesloten.
  1. Dubbelklik op TestCatalog (de catalogus die u hebt gemaakt in de sectie "Een testmap maken").
  2. Mappenmet de rechtermuisknop, wijs
    Nieuw, en klik vervolgens op map.
  3. Klik op Bladeren, zoek en klik vervolgens op de map die u wilt toevoegen (C:\myCatalogFolder\) en klik op OK.

    Opmerking Onder in Index opnemen?, klikt u op
    Ja.
terug naar boven

Maak een ASP.NET-webtoepassing

  1. Start Microsoft Visual Studio .NET.
  2. Visual C# .NET gebruiken om een nieuw project voor ASP.NET-webtoepassingen maken. Naam van het project IndexQueryApp. Standaard wordt WebForm1.aspx gemaakt.
  3. In de ontwerpweergave met de rechtermuisknop op
    WebForm1, en klik vervolgens op HTML-bron.
  4. Vervang de bestaande HTML-code met de volgende 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. In de Solution Explorer met de rechtermuisknop op
    WebForm1, en klik vervolgens op Programmacode weergeven. Vervang de bestaande code door de volgende voorbeeldcode:
    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. Klik op het menu Build Oplossing bouwen.
terug naar boven

De toepassing wordt uitgevoerd

  1. Klik in het menu Foutopsporing
    Start de toepassing uit te voeren.
  2. Typ de query word- document in het tekstvak. (U kunt een willekeurig woord uit het bestand IndexText.txt typen.)
  3. Klik op de knop. U ziet dat het raster wordt weergegeven en de resultaten van de query uit het bestand IndexText.txtbevat.
terug naar boven

Problemen oplossen met

Wacht totdat de index te bouwen

De Indexing-Service automatisch verwerkt de TestCatalog en wordt een lijst met woorden voorbereid voor indexering. Als u de voorbeeldcode uitvoert, verschijnt niet de resultaten snel verwacht omdat de Indexing-Service is vereist voor enige tijd om de index te maken.

Start de Computer Management MMC-module Klik om te controleren of de status van de index, de Indexing-Service in het rechterdeelvenster en controleer vervolgens of de Lijst met woorden waarde voor TestCatalog groter is dan nul. Als de Woordenlijst waarde nul is, wacht totdat de index voor het samenstellen van de lijst.

Indexgegevens beschadigd

Als de zoekactie niet de verwachte zoekresultaten wanneer u een query uitvoeren op de index, raken de indexgegevens zijn beschadigd. U kunt dit probleem oplossen door stoppen en opnieuw starten van Indexing-Service indexeert alle documenten opnieuw. Ga hiervoor als volgt te werk:
  1. Klik op Start, wijs
    Instellingen, en klik vervolgens op Configuratiescherm.
  2. Dubbelklik op Systeembeheeren dubbelklik vervolgens op Computerbeheer.
  3. Dubbelklik in de consolestructuur op Services en toepassingen.
  4. Klik met de rechtermuisknop op Indexing-Serviceen klik vervolgens op stoppen.
  5. Opnieuw met de rechtermuisknop op Indexing-Service en klik vervolgens op starten.
terug naar boven

Referenties

Voor meer informatie over de Indexing-Service, gaat u naar de volgende Microsoft-website:Voor meer informatie klikt u op de volgende artikelnummers om de artikelen in de Microsoft Knowledge Base te bekijken:

311521 hoe u ASP.NET om inhoud te indexeren met behulp van Microsoft Index Server

Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

308202 het maken en configureren van een catalogus voor indexering

BUG #: 8566 (Contentbeheer)

terug naar boven
Eigenschappen

Artikel-id: 820983 - Laatst bijgewerkt: 14 feb. 2017 - Revisie: 1

Feedback