Indexing Service Kurulumu Index Service bilgisayarınıza kurmak için aşağıdaki yöntemi izleyebilirsiniz;
Indexing Service Başlatma
Kurulum tamamlandığında, Computer Management (Start > Settings > Control Panel > Administrative Tools) penceresinden Indexing Service yönetebilirsiniz.
Indexing Service seçili iken sağ tıklayıp Start komutuna tıkladığınızda, size bir kereliğine bir soru yöneltilir, eğer bilgisayar açıldığında, servisin başlatılmasını istiyorsanız, Yes düğmesine tıklayın, bu işlemden sonra servis başlatılır.
Indexing Service Kataloğu Yaratma
Indexing Service kısa anlatımından sonra, örnekle birlikte Indexing Service incelemeye devam edeceğiz.
Örnekte, web sitesinde kullanıcıların eklediği dosyaların depolandığı, Dosyalar adında bir klasor var ve bu klasör içerisindeki dosyalarda, içerik aramasının yapılması isteniyor. Arama sadece Dosyalar klasörünün içerisinde olacağı için öncellikle bu klasör için katalog oluşturulması gerekmektedir.
Kataloğun Kapsamını Belirleme
Kataloğu oluşturduktan sonra, kataloğun kapsamını belirlememiz gerekmektedir. Bunun anlamı arama yapıldığında bakılacak yerlerdir. Bir ya da daha fazla konum yaratılabilir.
Web Uygulaması
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ContentSearch.aspx.vb" Inherits="ContentSearch" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ARAMA</title> </head> <body> <form id="form1" runat="server"> <table border="0" cellpadding="3" cellspacing="3"> <tr> <td>Aranacak Kelime/Ifadeyi Giriniz</td> <td><asp:TextBox ID="TextBox1" runat="server"/></td> </tr> <tr> <td align="center" colspan="2"> <asp:Button ID="Button1" runat="server" Text="Ara"/></td> </tr> <tr> <td colspan="2" align="center"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="False"> <Columns> <asp:BoundField DataField="filename"/> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="HypLnk1" runat="server" NavigateUrl='<%# "/Search/Dosyalar/" & Eval("filename") %>' Target="_blank" Text="Dosyayı Aç"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </td> </tr> </table> </form> </body> </html>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ContentSearch.aspx.vb" Inherits="ContentSearch" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ARAMA</title>
</head>
<body>
<form id="form1" runat="server">
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td>Aranacak Kelime/Ifadeyi Giriniz</td>
<td><asp:TextBox ID="TextBox1" runat="server"/></td>
</tr>
<td align="center" colspan="2">
<asp:Button ID="Button1" runat="server" Text="Ara"/></td>
<td colspan="2" align="center">
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" ShowHeader="False">
<Columns>
<asp:BoundField DataField="filename"/>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HypLnk1" runat="server"
NavigateUrl='<%# "/Search/Dosyalar/" & Eval("filename") %>'
Target="_blank" Text="Dosyayı Aç"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</table>
</form>
</body>
</html>
"Provider=MSIDXS;Integrated Security .='';Data Source='WebDosya'"
SELECT Select_List | * FROM {[Server_Name.][Catalog_Name..]Predefined_View_Name | [Server_Name.][Catalog_Name..]View_Name | [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments']) | (TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments']) UNION ALL TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments']) [UNION ALL TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments']) ...])} [WHERE_Clause] [ORDER_BY_Clause]
SELECT Select_List | *
FROM {[Server_Name.][Catalog_Name..]Predefined_View_Name |
[Server_Name.][Catalog_Name..]View_Name |
[Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments']) |
(TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments'])
UNION ALL TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments'])
[UNION ALL TABLE [Server_Name.][Catalog_Name..]SCOPE(['Scope_Arguments'])
...])}
[WHERE_Clause]
[ORDER_BY_Clause]
Imports System.Data Partial Class ContentSearch Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim tsql As String tsql = "Select Filename from SCOPE() where FREETEXT('" & TextBox1.Text & "')" Dim connString As String = "Provider=MSIDXS;Integrated Security .='';Data Source='WebDosya'" Dim cn As New System.Data.OleDb.OleDbConnection(connString) Dim cmd As New System.Data.OleDb.OleDbDataAdapter(tsql, cn) Dim ds As New DataSet() cmd.Fill(ds) Dim source As New DataView(ds.Tables(0)) GridView1.DataSource = source GridView1.DataBind() End Sub End Class
Imports System.Data
Partial Class ContentSearch
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tsql As String
tsql = "Select Filename from SCOPE() where FREETEXT('" & TextBox1.Text & "')"
Dim connString As String = "Provider=MSIDXS;Integrated Security .='';Data Source='WebDosya'"
Dim cn As New System.Data.OleDb.OleDbConnection(connString)
Dim cmd As New System.Data.OleDb.OleDbDataAdapter(tsql, cn)
Dim ds As New DataSet()
cmd.Fill(ds)
Dim source As New DataView(ds.Tables(0))
GridView1.DataSource = source
GridView1.DataBind()
End Sub
End Class