Bu adım adım makalede, bir dizin oluşturma hizmeti Katalog oluşturma açıklanmaktadır. Bu makalede ayrıca bir ASP.NET Web kullanmayı açıklamaktadır sorgu Hizmeti'nin kataloglara uygulama.
Bir sınama klasörü oluşturun
- Bilgisayarın C sürücüsünde yeni bir klasör olu?turun Klasör myCatalogFolder adı.
- Not Defteri gibi bir metin düzenleyicisini başlatın ve aşağıdaki metni boş bir belgeye yapıştırın:
Bu dizin sunucusu sorguyu sınamak için bir sınama belgesi ve bu dosya adı IndexText.text.
- Dosyayı C:\myCatalogFolder\IndexText.txt kaydedin.
Bir dizin oluşturma hizmeti Katalog oluşturma
- Başlat ' ı tıklatın, Çalıştır ' ı tıklatın, compmgmt.msc yazın ve Tamam ' ı tıklatın.
- Hizmetler ve uygulamalar'ı genişletin.
- Dizin oluşturma hizmeti sağ tıklatın, Yeni ' nin üzerine gelin ve Kataloğu</a1>'ı tıklatın.
- Ad metin kutusuna TestCatalog yazın.
- Gözat ' ı tıklatın, kataloğa koymak istediğiniz klasörü bulun ve sonra da iki kez Tamam ' ı tıklatın.
- Altında Yeni katalog oluşturuldu, aşağıdaki iletiyi alırsınız:
Dizin hizmeti yeniden başlatılıncaya kadar katalog çevrimdışı kalacak
Tamam ' ı tıklatın. - Dizin oluşturma hizmeti sağ tıklatın ve sonra da <a2>Dizin Oluşturma Hizmeti'ni durdurmak için Durdur</a2>'ı tıklatın.
- Dizin Oluşturma Hizmeti'ni ' ı sağ tıklatın ve sonra da <a2>dizin oluşturma hizmeti yeniden Başlat</a2>'ı tıklatın.
Kataloğun kapsamını tanımla
Yeni bir katalog oluşturduktan sonra kataloğa kapsamında eklemek istediğiniz klasörleri ekleyin. Katalogta gelen ve katalogdan dışlanan klasörler kümesi kapsamdır. Kapsam, dizinde bulunan ve dizinden dışlanan içeriği tanımlar. Eklenen veya dışlanan her klasör için tüm alt klasörlerini de dahil dışlanan veya.
- TestCatalog ("Test klasör oluşturma" bölümünde oluşturduğunuz katalog) çift tıklatın.
- Dizin ' i sağ tıklatın, Yeni ' nin üzerine gelin ve sonra dizin ' i tıklatın.
- Gözat ' ı tıklatın, bulun (C:\myCatalogFolder\) eklemek istediğiniz klasörü tıklatın ve sonra Tamam ' ı tıklatın.
Not Altında Dizin Ekle?, Evet ' i tıklatın.
Bir ASP.NET Web uygulaması yaratın
- Microsoft Visual Studio .NET'i başlatın.
- Yeni oluşturmak için Visual C#. NET'i kullanmak ASP.NET Web uygulaması proje. IndexQueryApp projenin adı. Varsayılan olarak, WebForm1.aspx oluşturulur.
- Tasarım görünümünde WebForm1 ' ı sağ tıklatın ve sonra da HTML Kaynağı Göster'i tıklatın.
- 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> - Solution Explorer'da (Çözüm Gezgini), WebForm1 ' ı sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın. Varolan kod aşağıdaki örnek kodla değiştirin:
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();
}
}
}
- Yapı) menüsünde tıklatın Build Solution.
Uygulamayı çalıştırma
- Hata Ayıkla) menüsünde, uygulamayı çalıştırmak için Başlat ' ı tıklatın.
- Sorgu sözcüğü belge metin kutusuna yazın. (Herhangi bir sözcük IndexText.txt dosyasından yazabilirsiniz.)
- Düğmesini tıklatın. Veri Kılavuzu belirir ve IndexText.txt sorgu sonuçlarını içeren bir bildirim dosyası.
Sorun Giderme
Dizini oluşturulacak bekleyin.
Dizin oluşturma hizmeti otomatik olarak TestCatalog işler ve bir sözcük listesi, dizin oluşturma için hazırlar. Örnek kodu çalıştırdığınızda, sonuçlar biraz zaman Dizin Oluşturma Hizmeti'nin gerektirdiği için beklendiği gibi çabuk alamayabilir.
Dizin durumunu doğrulamak için <a0></a0>, bilgisayar yönetimi MMC ek bileşenini tıklatarak başlatmak sağ bölmede,
Dizin Oluşturma Hizmeti'ni ve TestCatalog için
Word liste değeri sıfırdan büyük olduğunu doğrulayın.
Word listesi değeri sıfırdır, liste oluşturmak dizin için bekleyin.
Dizin verileri bozulmuş olabilir
Dizin sorguladığınızda arama beklenen arama sonuçları döndürmezse, dizin verileri bozulmuş olabilir. Bu sorunu gidermek için <a0></a0>, durdurun ve sonra da tüm belgeleri yeniden dizin oluşturmak için Dizin Oluşturma Hizmeti'ni yeniden başlatın. Bunu yapmak için şu adımları izleyin:
- Başlat ' ı tıklatın, Ayarlar ' ın üzerine gelin ve sonra Denetim Masası ' nı tıklatın.
- Yönetimsel Araçlar ' ı çift tıklatın ve sonra Bilgisayar Yönetimi ' ni çift tıklatın.
- Konsol ağacında, Hizmetler ve uygulamalar'ı çift tıklatın.
- Dizin oluşturma hizmeti sağ tıklatın ve sonra da <a2>Durdur</a2>'ı tıklatın.
- Dizin Oluşturma Hizmeti'ni yeniden sağ tıklatın ve sonra da <a2>Başlat</a2>'ı tıklatın.
Dizin Oluşturma Hizmeti hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
311521
(http://support.microsoft.com/kb/311521/
)
Nasıl yapılır: Microsoft ındex Server'ı kullanarak ASP.NET içerik dizini
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
308202
(http://support.microsoft.com/kb/308202/
)
Nasıl oluşturulacağı ve bir katalog için dizin oluşturmayı yapılandır
Makale numarası: 820983 - Son Gözden Geçirme: 12 Ocak 2007 Cuma - Gözden geçirme: 3.4
Bu makaledeki bilginin uygulandığı durum:
- 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 KbMttr |
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:
820983
(http://support.microsoft.com/kb/820983/en-us/
)