
با استفاده از Content Search Web Part و پیکره بندی ساده ولی پیشرفته query ها ، امکان نمایش محتواهای فیلتر شده در صفحات شیرپوینت فراهم شده است.
همه چیز در مورد Content Search Web Part - CSWP :
هنگامی کاربران صفحه شیرپوینتی که شامل CSWP است را مشاهده میکنند، این وب پارت به طور خودکار کوئری لازم را اجرا مینماید و نتیجه جستجو را در CSWP (وب پارت مدیریت جستجو) نمایش میدهد. در بسیاری از موارد حتی کاربران متوجه نمیشوند که محتوای نمایش داده شده نتیجه یک کوئری جستجو میباشد، یعنی میتوان این وب پارت را طوری تنظیم نمود که هنگام لود صفحه برای کاربران متفاوت نتایج متفاوتی را نمایش دهد. به صورت پیش فرض خروجی CSWP شامل سه آیتمی است که اخیرا در سایت مورد نظر تغییر یافته اند. البته با تنظیم CSWP امکان تغییر تعداد و چگونگی آیتمهای نمایشی فراهم میباشد. به عنوان مثال شما میتوانید تعداد 9 عدد از آیتمهای یک لیست خاص را در نتایج جستجو نمایش دهید یا میتوانید تعداد 6 عدد از Document های که کاربر جاری بارگزاری کرده است را نمایش دهید.
نحوه اضافه کردن Content Search Web Part یا همان CSWP به صفحه :
1. ابتدا باید مطمئن باشید که شما دسترسی حداقل Designer Sharepoint Group را از سایتی که میخواهید وب پارت جستجو را به آن اضافه کنید را دارید.
2. به صفحه ای بروید که میخواهید وب پارت جستجو را در آن اضافه نمایید.
3. از قسمت Setting گزینه Edit Page را انتخاب نمایید.
4. در هر Zone ای که تصمیم گرفتید وب پارت جستجو را اضافه کنید ، گزینه Add Web Part بزنید
5. از قسمت Categories گزینه Content Rollup را انتخاب نمایید.
6. سپس وب پارت Content Search را انتخاب نمایید و روی دکمه Add کلیک کنید.
بدین ترتیت توانستیم CSWP را به صفحه مان اضافه کنیم. سپس جهت ویرایش این وب پارت باید از کنار چک باکس مربوط به وب پارت برروی مثلث کوچک کلیک کنیم و گزینه Edit Web Part را انتخاب کنید. (هنگامیکه گزینه Edit Page را زده باشید میتوان وب پارتها را ویرایش و سفارشی نمود)
نمایش محتوا با استفاده از تنظیمات ساده Query در CSWP :
پس از اینکه گزینه ویرایش وب پارت را انتخاب کردید باید از قسمت Search Criteria برروی دکمه Change Query کلیک نمایید. اگر برای نمایش محتوا در CSWP نیاز به یک Query ساده دارید به عنوان مثال : اگر میخواهید نتیجه جستجو را به یک یا چند result source محدود کنید یا یک تگ مشخص کنید ، به این منظور میتوانید از تب Basic استفاده کنید.

یک منوی بازشو مقابل عبارت Select Query قرار دارد که شامل گزینههای زیر است
Select Query : جهت انتخاب source ای که جستجو در آن صورت گیرد.
Restrict Results App : با استفاده از این گزینه میتوان نتیجه جستجو را محدود کرد به عنوان مثال به یک لیست ، به یک Document یا یک Url یا ...
Restrict by tag : با استفاده از این گزینه میتوان محتوای نتیجه جستجو را به تگهای یک عبارت (Term) محدود نمود. گزینههای قابل انتخاب برای Restrict by tag شامل :
- Don’t restrict by any tag : نتیجه جستجو را به هیچ تگی محدود نمیکند.
- Restrict by navigation term of current page : نتیجه جستجو را با استفاده از عبارت مربوط به منوی اصلی (Navigation) صفحه جاری محدود میکند. عبارت مربوط به منوی اصلی (Navigation term) به عنوان آخرین بخش از Url قابل رویت خواهد بود. این گزینه فقط برای سایتهایی که از managed navigation استفاده میکنند قابل رویت است.
- Restrict by current and child navigation : نتیجه جستجو را با استفاده از عبارت مربوط به منوی اصلی (Navigation) و زیرگزینه های مربوط به عبارات (Sub-Term) صفحه جاری محدود میکند
- Restrict on this tag : نتیجه جستجو را با استفاده از عبارتی که در درون باکس مقابل این گزینه وارد میشود، محدود میکند.
نمایش محتوا با استفاده از تنظیمات پیشرفته Query در وب پارت جستجو :
اگر Query مورد نظر شما جهت نمایش محتوای CSWP یک query پیشرفته است شما باید از گزینههای تنظیمات پیشرفته واقع در قسمت Advanced Mode در تب Basics استفاده نمایید. وقتی که شما از قابلیت Advanced Mode استفاده میکنید میتوانید از متغیرهای پرس و جو (Variable Query) استفاده نمایید.
هنگامیکه قسمت Advanced Mode انتخاب مینمایید امکان استفاده از Query Variables فراهم میشود. Query Variables در واقع یک Place Holder است که هنگام اجرای کوئری میتواند با مقادیر جابجا شود. به عنوان مثال place holder روبرو {User.Name} با مقدار نام ، کاربری که در حال مشاهده صفحه جاری است جابجا میشود.
جهت دسترسی به بخش Advanced Mode
1. ابتدا باید مطمئن باشید که شما دسترسی حداقل Designer Sharepoint Group را از سایتی که میخواهید وب پارت جستجو را در آن ویرایش کنید را دارید.
2. به صفحه ای بروید که وب پارت جستجو را در آن اضافه شده است.
3. از قسمت Setting گزینه Edit Page را انتخاب نمایید.
4. در بخش Web Part Tool Pane بخش Properties را انتخاب نمایید سپس از قسمت Search Criteria گزینه Change Query رانتخاب نمایید.
5. در دیالوگ باکسی که باز میشود باید گزینه Switch To Advance Mode را انتخاب نمایید.
تنظیمات مربوط به Query در حالت پیشرفته :
1. Select Query : عملکرد این بخش همانطور که قبلا گفته شد مشابه حالت ساده، جهت انتخاب source ای که جستجو در آن صورت گیرد، است.
رد Keyword filter : با استفاده امکان keyword filter میتوان Query variables به کوئری مان اضافه میگردد. جهت مشاهده لیست query variable هایی که در دسترس هستند میتوانید از این لینک استفاده نمایید. با استفاده drop-down لیست میتوانید از متغیرهایی که از قبل تعریف شده اند استفاده نمایید و جهت اضافه کردن آن به کوئری از دکمه Add keyword filter استفاده نمایید.
3. Property filter : از امکان Property filter میتوان برای ایجاد کوئری از managed property هایی که در search schema به صورت Queryable تعریف شده اند استفاده کرد.
4. امکان ورود و ویرایش کوئری با استفاده از زبان KQL (Keyword Query Language) فراهم است همچنین میتوان از امکان keyword filter و Property filter . keywordها میتوانند شامل textها ، Property filter و عملگرها باشند با استفاده از علامت {} میتوان Query variable ها را در کوئری گنجاند. Keyword query میتواند حداکثر شامل 2048 کاراکتر باشد.
تب Refiners :
اگر میخواهید نتیجه جستجو را به آیتمهایی که یک یا چند Refiner values دارند محدود نمایید باید از این بخش استفاده نمایید. Managed Propertyها به عنوان Refiner در Search Schema موجود هستند و امکان استفاده از آنان برای محدود کردن نتیجه جستجو در بخش Choose your refiners فراهم است.
میتوانید یک refiner value از لیست انتخاب نمایید و آنرا به کوئریمان Add کنیم. اگر میخواهید نتیجه جستجو را در گروه بندی نمایید باید روی لینک Show more کلیک نمایید گروه بندی را نتخاب نمایید.
نحوه اضافه کردن Refiner به Choose your refiners :
تب Sorting :
با استفاده از این تب شما میتوانید مشخص نمایید نتیجه جستجو به صورتی مرتب شود، Managed property هایی که به صورت Sortable در Search Schema تعریف شده اند در قسمت Sort by لیست شده اند. از طریق بخش Sort by میتوان یک managed property انتخاب کرد و مشخص نمود و یکی از گزینههای Ascending و Descending را انتخاب نمایید. در صورت تمایل میتوانید جهت قرار دادن sort level های بیشتر از گزینه Add sort level استفاده نمایید.
تب Setting :
Query rules : اگر از Query rules استفاده میکنید لطفا این گزینه را انتخاب کنید.
URL Rewriting : اگر میخواهید URL Rewrite فعال کنید باید از طریق این گزینه اقدام نمایید.
Loading behavior : اگر تمایل دارید نتیجه جستجو توسط CSWP موجود در صفحه مشاهده کنید. اگر شما گزینه پیش فرض Sync option: Issue query from the server را انتخاب نمایید نتیجه کوئری ها از سرور دریافت میشود و آن نتیجه شامل response های صفحه جاری شیرپوینت نیز میباشد، ولی اگر گزینه Async option: Issue query from the browser انتخاب نمایید نتیجه کوئری از مرورگر کاربر بعد از کامل کردن صفحه استنجاج میگردد. معمولا گزینه دوم را به عنوان گزینه محبوبتر انتخاب میکنند.
Priority : درصورتیکه محتوای نمایش داده شده در این وب پارت با سایر وب پارت های جستجو در ارتباط است از طریق این بخش میتوان اولویت نمایش را تغییر داد.
Caching : اگر تمایل دارید نتیجه جستجو برای یکی از گروهها کش شود میتوانید یکی از گروههای Active Directory را انتخاب نمایید.
تب Test :
از طریق این تب امکان تست query ای که به CSWP ارسال میشود قابل مشاهده است.
Query Text : نمایش query که امکان اجرای آن توسط CSWP وجود دارد
نکته : جهت مشاهده اطلاعات بیشتر میتوانید برروی لینک Show more کلیک نمایید.
Query Template : از طریق این بخش قالبی که query با آن نمایش داده میشود را میتوان مشاهده نمود.
Refiner Tab : جهت مشاهده Refiner هایی که به query اعمال شده اند میتوان از تب Refiner استفاده کرد.
Group by : نمایش نتیجه جستجو که توسط managed property ها موجود در تب Refiner گروه بندی شده اند
Applied Query Rules : جهت مشاهده به اینکه کدام Query Rule به کوئری مان اعمال شده است میتوانیم از این تب استفاده کنیم.
Query template variables : جهت نمایش Query variable که به کوئریمان اعمال شده است و مشاهده مقادیر متغیرهای مرتبط با صفحه جاری ، میتوان از این تب استفاده نمود همچنین جهت مشاهده پیش نمایش نتیجه کوئری استفاده میشود.
نکته : جهت آزمایش اینکه کوئری برای کاربران بخشهای مختلف به شکل نمایش داده خواهد شد از Add user segment استفاده نمایید.