Πώς μπορείτε να χρησιμοποιήσετε μια εφαρμογή του ASP.NET για να υποβάλετε ερώτημα μια υπηρεσία ευρετηρίου καταλόγου χρησιμοποιώντας τη Visual C# .NET

Για την Microsoft Visual Basic .NET έκδοση αυτού του άρθρου, ανατρέξτε στην ενότητα 820105 .

Σύνοψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο δημιουργίας μιας υπηρεσίας ευρετηρίου καταλόγου. Αυτό το άρθρο περιγράφει επίσης τον τρόπο χρήσης μιας εφαρμογής ASP.NET Web στους καταλόγους της υπηρεσίας ευρετηρίου ερωτήματος.

Επιστροφή στην κορυφή

Δημιουργήστε ένα φάκελο δοκιμής

  1. Δημιουργήστε έναν νέο φάκελο στη μονάδα δίσκου C του υπολογιστή σας. Ονομάστε το φάκελο myCatalogFolder.
  2. Ξεκινήστε ένα πρόγραμμα επεξεργασίας κειμένου όπως το Σημειωματάριο (Notepad) και, στη συνέχεια, επικολλήστε το ακόλουθο κείμενο σε ένα κενό έγγραφο:
    Δοκιμαστικό έγγραφο για να ελέγξετε το ερώτημα στο διακομιστή ευρετηρίου και αυτό το όνομα αρχείου είναι IndexText.text.
  3. Αποθηκεύστε το αρχείο ως
    C:\myCatalogFolder\IndexText.txt.
Επιστροφή στην κορυφή

Δημιουργήστε μια υπηρεσία ευρετηρίου καταλόγου

  1. Κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε compmgmt.mscκαι, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  2. Αναπτύξτε το στοιχείο υπηρεσίες και εφαρμογές.
  3. Κάντε δεξιό κλικ στο Υπηρεσία ευρετηρίου, μεταβείτε στην επιλογή
    Δημιουργίακαι, στη συνέχεια, κάντε κλικ στην επιλογή καταλόγου.
  4. Στο πλαίσιο κειμένου " όνομα ", πληκτρολογήστε
    TestCatalog.
  5. Κάντε κλικ στο κουμπί Αναζήτηση, εντοπίστε το φάκελο όπου θέλετε να τοποθετήσετε τον κατάλογο και, στη συνέχεια, κάντε κλικ στο κουμπί OK δύο φορές.
  6. Στην περιοχή Δημιουργία νέο κατάλογο, λαμβάνετε το ακόλουθο μήνυμα:
    Κατάλογος θα παραμείνει εκτός σύνδεσης μέχρι την επανεκκίνηση της υπηρεσίας ευρετηρίου
    Κάντε κλικ στο κουμπί OK.
  7. Κάντε δεξιό κλικ στο Υπηρεσία ευρετηρίουκαι, στη συνέχεια, κάντε κλικ στο κουμπί Διακοπή για να διακόψετε την υπηρεσία ευρετηρίου.
  8. Κάντε δεξιό κλικ στο Υπηρεσία ευρετηρίουκαι, στη συνέχεια, κάντε κλικ στην επιλογή Έναρξη για να ξεκινήσετε πάλι την υπηρεσία ευρετηρίου.
Επιστροφή στην κορυφή

Ορίζει το πεδίο εφαρμογής του καταλόγου

Αφού δημιουργήσετε έναν νέο κατάλογο, να προσθέσετε τους φακέλους που θέλετε να συμπεριληφθούν στην εμβέλεια του καταλόγου. Το πεδίο εφαρμογής είναι το σύνολο των φακέλων που περιλαμβάνονται στον κατάλογο και εξαιρούνται από τον κατάλογο. Το πεδίο καθορίζει το περιεχόμενο που περιλαμβάνεται στο ευρετήριο και εξαιρούνται από το ευρετήριο. Για κάθε φάκελο που συμπεριλαμβάνεται ή αποκλείεται, όλους τους υποφακέλους επίσης θα συμπεριληφθούν ή θα εξαιρεθούν.
  1. Κάντε διπλό κλικ στο TestCatalog (στον κατάλογο που δημιουργήσατε στην ενότητα "Δημιουργία φακέλου δοκιμής").
  2. Κάντε δεξιό κλικ σε καταλόγους, μεταβείτε στην επιλογή
    Δημιουργίακαι, στη συνέχεια, κάντε κλικ στην επιλογή καταλόγου.
  3. Κάντε κλικ στο κουμπί Αναζήτηση, εντοπίστε και, στη συνέχεια, κάντε κλικ στο φάκελο που θέλετε να προσθέσετε (C:\myCatalogFolder\) και, στη συνέχεια, κάντε κλικ στο κουμπί OK.

    Σημείωση Στην περιοχή Συμπερίληψη στο ευρετήριο;, κάντε κλικ στο κουμπί
    Ναι.
Επιστροφή στην κορυφή

Δημιουργία μιας εφαρμογής Web του ASP.NET

  1. Ξεκινήστε το Microsoft Visual Studio .NET.
  2. Χρησιμοποιήστε την Visual C# .NET για να δημιουργήσετε ένα νέο έργο Εφαρμογής Web ASP.NET . Ονομάστε το έργο IndexQueryApp. Από προεπιλογή, δημιουργείται το αρχείο WebForm1.aspx.
  3. Σε προβολή σχεδίασης, κάντε δεξιό κλικ
    WebForm1, και στη συνέχεια κάντε κλικ στο κουμπί Προβολή προέλευσης HTML.
  4. Αντικαταστήστε τον υπάρχοντα κώδικα HTML με το ακόλουθο δείγμα κώδικα:
    <%@ 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. Στο πλαίσιο κειμένου, πληκτρολογήστε το έγγραφο του word ερωτήματος. (Μπορείτε να πληκτρολογήσετε μια λέξη από το αρχείο IndexText.txt .)
  3. Κάντε κλικ στο κουμπί. Παρατηρήστε ότι το πλέγμα δεδομένων εμφανίζεται και περιέχει τα αποτελέσματα του ερωτήματος από το αρχείο IndexText.txt.
Επιστροφή στην κορυφή

Αντιμετώπιση προβλημάτων

Περιμένετε μέχρι το ευρετήριο να δημιουργηθούν

Η υπηρεσία ευρετηρίου επεξεργάζεται το TestCatalog αυτόματα και προετοιμάζει μια λίστα λέξεων για τη δημιουργία ευρετηρίου. Όταν εκτελείτε το δείγμα κώδικα, δεν θα λάβετε τα αποτελέσματα γρήγορα όπως αναμενόταν, επειδή η υπηρεσία ευρετηρίου απαιτεί κάποιο χρόνο για να δημιουργήσετε το ευρετήριο.

Για να επαληθεύσετε την κατάσταση του ευρετηρίου, ξεκινήστε το συμπληρωματικό πρόγραμμα MMC διαχείρισης υπολογιστή, κάντε κλικ στην επιλογή Υπηρεσία ευρετηρίου στο δεξιό τμήμα του παραθύρου, και στη συνέχεια βεβαιωθείτε ότι η Λίστα λέξεων τιμή TestCatalog είναι μεγαλύτερη από το μηδέν. Εάν η τιμή της Λίστας του Word είναι μηδέν, περιμένετε μέχρι το ευρετήριο να δημιουργήσει τη λίστα.

Δεδομένα του ευρετηρίου ενδέχεται να έχει καταστραφεί

Εάν η αναζήτηση δεν επιστρέφει τα αποτελέσματα αναμενόμενης αναζήτησης όταν πραγματοποιείτε ερώτημα για το ευρετήριο, τα δεδομένα του ευρετηρίου ενδέχεται να έχει καταστραφεί. Για να αντιμετωπίσετε αυτό το ζήτημα, διακόψτε και επανεκκινήστε την υπηρεσία ευρετηρίου ξανά όλα τα έγγραφα. Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη, έπειτα στην επιλογή
    Ρυθμίσεις, και στη συνέχεια κάντε κλικ στην επιλογή Πίνακας ελέγχου.
  2. Κάντε διπλό κλικ στο Εργαλεία διαχείρισης και, στη συνέχεια, κάντε διπλό κλικ στην επιλογή Διαχείριση υπολογιστή.
  3. Στο δέντρο της κονσόλας, κάντε διπλό κλικ στο υπηρεσίες και εφαρμογές.
  4. Κάντε δεξιό κλικ στο Υπηρεσία ευρετηρίουκαι, στη συνέχεια, κάντε κλικ στο κουμπί Διακοπή.
  5. Κάντε ξανά δεξιό κλικ Υπηρεσία ευρετηρίου και, στη συνέχεια, κάντε κλικ στο κουμπί Έναρξη.
Επιστροφή στην κορυφή

Αναφορές

Για περισσότερες πληροφορίες σχετικά με την υπηρεσία ευρετηρίου, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:

311521 ΔΙΑΔΙΚΑΣΙΕΣ: δημιουργία ευρετηρίου περιεχομένου ASP.NET χρησιμοποιώντας Microsoft Index Server

Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:

308202 Τρόπος δημιουργίας και ρύθμισης παραμέτρων ενός καταλόγου για τη δημιουργία ευρετηρίου

Σφάλμα #: 8566 (Συντήρηση περιεχομένου)

Επιστροφή στην κορυφή
Ιδιότητες

Αναγνωριστικό άρθρου: 820983 - Τελευταία αναθεώρηση: 17 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια