در این مقاله قصد داریم مراحل ایجاد ایندکس برای فیلد شیرپوینت با استفاده از سی شارپ را مشاهده کنیم. نمایه سازی یک ساختار داده است که برای مکان یابی و دسترسی سریع به داده ها در جدول پایگاه داده استفاده می شود. مدل شیء سمت مشتری (CSOM) به صورت داخلی برای این عملیات استفاده می شود.
چرا ستون های ایندکس شده؟
- ستون های نمایه شده امکان بازیابی سریع را فراهم می کنند.
- عملکرد پایگاه داده را بهبود می بخشد.
- در حین انجام پرس و جو، دسترسی دیسک را کاهش می دهد.
مرحله 1
Visual Studio را باز کنید، به File -> New -> بروید و Project را انتخاب کنید.
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image001.jpg)
مرحله 2
در Templates Visual C# را انتخاب کنید، Console App (Net Framework) را انتخاب کنید و نام مناسب را در کادر متن نام بدهید و سپس روی دکمه ok کلیک کنید.
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image002.png)
مرحله 3
-
برای انجام عملیات نمایه سازی فیلد شیرپوینت در سایت شیرپوینت، باید SharePoint PnP Core Library را در پروژه سی شارپ خود نصب کنیم. برای نصب کتابخانه به این وبلاگ مراجعه کنید How To Install SharePoint PnP Core Library در Visual Studio 2017
-
پس از نصب کتابخانه هسته شیرپوینت، می توانید Microsoft.SharePoint.Client.dll و Microsoft.SharePoint.Client.Runtime.dll را در مرجع پروژه خود مشاهده کنید.
مرحله 4
فایل program.cs را باز کرده و کد زیر را تایپ کنید
Program.cs
- using System;
- using System.Collections.Generic;
- using Microsoft.SharePoint.Client;
- namespace SPField_Indexing {
- class Program {
- static void Main(string[] args) {
- try {
- SPHelper sphelper = new SPHelper();
- string url = "", userName = "", password = "";
- Console.WriteLine("Please enter site url:");
- url = Console.ReadLine();
- Console.WriteLine("Please enter username:");
- userName = Console.ReadLine();
- Console.WriteLine("Please enter password:");
- password = Console.ReadLine();
- if (url != null && userName != null && password != null) {
- sphelper.doIndexing(url, userName, password);
- }
- } catch (Exception) {
- throw;
- }
- }
- }
- class SPHelper {
- public void doIndexing(string SiteUrl, string UserName, string Password) {
- OfficeDevPnP.Core.AuthenticationManager authMgr = new OfficeDevPnP.Core.AuthenticationManager();
- using(var clientContext = authMgr.GetSharePointOnlineAuthenticatedContextTenant(SiteUrl, UserName, Password)) {
- if (clientContext != null) {
- //Give list name to select the list
- string listName = "HubflyTeam";
- //Give the filed names to be indexed
- List < string > FieldName = new List < string > () {
- "NameHF",
- "LocationHF"
- };
- List list = clientContext.Web.Lists.GetByTitle(listName);
- clientContext.Load(list);
- clientContext.ExecuteQuery();
- foreach(string fields in FieldName) {
- Field field = list.Fields.GetByTitle(fields);
- field.Indexed = true;
- field.Update();
- clientContext.ExecuteQuery();
- }
- Console.WriteLine("SharePoint Field Indexed Successfully!");
- Console.ReadLine();
- }
- }
- }
- }
- }
مرحله 5
پروژه را با استفاده از کلید تابع F5 اجرا کنید. آدرس سایت، نام کاربری و رمز عبور را برای دسترسی به سایت شیرپوینت وارد کنید،
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image004.png)
مرحله 6
تنظیمات لیست را مانند عکس فوری زیر باز کنید.
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image005.jpg)
پایین بکشید و روی ستون های Indexed مانند عکس فوری زیر کلیک کنید.
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image006.png)
تمام شد، فیلد شیرپوینت با موفقیت ایندکس شد.
![شیرپوینت](http://pezhvak24.ir/dl/10kcor/cscd/article/how-to-add-index-on-sharepoint-fields-using-c-sharp/Images/image007.png)
بنابراین، شما مراحل ایجاد نمایه فیلد شیرپوینت را به صورت برنامهنویسی با استفاده از کد سی شارپ مشاهده کردهاید. در صورت نیاز به کمک، می توانید کادر نظر زیر را پر کنید.