<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SharePoint Search arşivleri - Yunus Emre Araç</title>
	<atom:link href="https://www.yunusemrearac.com/tag/sharepoint-search/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.yunusemrearac.com/tag/sharepoint-search/</link>
	<description>SharePoint Consultant &#124; Microsoft 365 &#124; SharePoint Server &#38; Online</description>
	<lastBuildDate>Tue, 24 Sep 2019 13:06:51 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.yunusemrearac.com/wp-content/uploads/2014/11/MetroUI_VisualStudio_2012-545c8860_site_icon-32x32.png</url>
	<title>SharePoint Search arşivleri - Yunus Emre Araç</title>
	<link>https://www.yunusemrearac.com/tag/sharepoint-search/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">67294213</site>	<item>
		<title>SharePoint Sitemap XML Dosyasının Otamatik Oluşturulması, Hangi Sayfaların Ekleneceğinin Ayarlanması ve Otomatik Olarak Güncellenmesini Sağlamak</title>
		<link>https://www.yunusemrearac.com/2019/09/11/sharepoint-sitemap-xml-dosyasinin-otamatik-olusturulmasi-hangi-sayfalarin-ekleneceginin-ayarlanmasi-ve-otomatik-olarak-guncellenmesini-saglamak/</link>
					<comments>https://www.yunusemrearac.com/2019/09/11/sharepoint-sitemap-xml-dosyasinin-otamatik-olusturulmasi-hangi-sayfalarin-ekleneceginin-ayarlanmasi-ve-otomatik-olarak-guncellenmesini-saglamak/#respond</comments>
		
		<dc:creator><![CDATA[yunusemrearac]]></dc:creator>
		<pubDate>Wed, 11 Sep 2019 16:26:25 +0000</pubDate>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Anonymous Access]]></category>
		<category><![CDATA[Anonymous users can access]]></category>
		<category><![CDATA[Authentication Providers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Search Engine Sitemap]]></category>
		<category><![CDATA[Search Engine Sitemap job]]></category>
		<category><![CDATA[SharePoint Central Administration]]></category>
		<category><![CDATA[SharePoint Search]]></category>
		<category><![CDATA[SharePoint Timer Job]]></category>
		<category><![CDATA[Site Collection Administration]]></category>
		<category><![CDATA[Site collection features]]></category>
		<category><![CDATA[Site Haritası]]></category>
		<category><![CDATA[sitemap.xml]]></category>
		<category><![CDATA[sitemap0.xml]]></category>
		<category><![CDATA[Timer Job]]></category>
		<guid isPermaLink="false">http://yunusemrearac.com/?p=2038</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar bugün sizlere sharepoint ortamında sitemap xml dosyasını nasıl otamatik oluşturulacağını ayarlamalarının nasıl yapılacağını ve bunun güncellenmesinin nasıl otomatik olarak gerçekleşmesini nasıl yapacağınızdan bahsedeceğim.&#8230;</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/09/11/sharepoint-sitemap-xml-dosyasinin-otamatik-olusturulmasi-hangi-sayfalarin-ekleneceginin-ayarlanmasi-ve-otomatik-olarak-guncellenmesini-saglamak/">SharePoint Sitemap XML Dosyasının Otamatik Oluşturulması, Hangi Sayfaların Ekleneceğinin Ayarlanması ve Otomatik Olarak Güncellenmesini Sağlamak</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar bugün sizlere sharepoint ortamında sitemap xml dosyasını nasıl otamatik oluşturulacağını ayarlamalarının nasıl yapılacağını ve bunun güncellenmesinin nasıl otomatik olarak gerçekleşmesini nasıl yapacağınızdan bahsedeceğim.</p>
<p>İlk olarak central admine giderek sharepoint sitemap xml dosyasının oluşmasını istediğimizin web application da <strong>&#8220;Authentication Providers&#8221;</strong> ayarından <strong>&#8220;Default&#8221;</strong> zone tıklayarak <strong>&#8220;Enable anonymous access&#8221;</strong> seçeneğini seçip kaydederek sitemizin dışarıya açık olmasını sağlıyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/1.png"><img fetchpriority="high" decoding="async" class="size-full wp-image-2039 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/1.png" alt="" width="638" height="415" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/09/1.png 638w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/1-300x195.png 300w" sizes="(max-width: 638px) 100vw, 638px" /></a></p>
<p>Bu ayarı yaptıktan sonra sitemize giderek site ayarlarında site yetkileri kısmına girerek ribbonda gelmiş olan <strong>&#8220;Anonymous Access&#8221;</strong> tıklayarak açılan popopta gelen <strong>&#8220;Anonymous users can access:&#8221;</strong> seçeneğinde <strong>&#8220;Entrie web site&#8221;</strong> seçeneğini seçip kaydediyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/2.png"><img decoding="async" class="size-full wp-image-2040 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/2.png" alt="" width="639" height="633" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/09/2.png 639w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/2-150x150.png 150w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/2-300x297.png 300w" sizes="(max-width: 639px) 100vw, 639px" /></a></p>
<p>Bu ayarlamayı da tamamladıktan sonra sitemap xml oluşturacağımız site ayarlarına  giderek <strong>&#8220;Site Collection Administration&#8221;</strong> altında yer alan <strong>&#8220;Site collection features&#8221;</strong> a tıklayarak site feature larına gidiyoruz. Burada yer alan <strong>&#8220;Search Engine Sitemap&#8221;</strong> feature unu aktif ediyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/3.png"><img decoding="async" class="size-full wp-image-2041 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/3.png" alt="" width="300" height="20" /></a></p>
<p>Bu işlemi de tamamladıktan sonra tekrar central admine gidiyoruz sitemap xml oluşturulurken search kullandığı için bu işlemlerin sonunda search servisinin content source tarafında Full ya da Incremental olarak crawl edilmesi gerekmektedir.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/4.png"><img decoding="async" class="size-full wp-image-2042 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/4.png" alt="" width="890" height="670" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/09/4.png 890w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/4-300x226.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/4-768x578.png 768w" sizes="(max-width: 890px) 100vw, 890px" /></a></p>
<p>Sitenin search crawl sorunsuz tamamlandıktan sonra günlük olarak timer job sayesinde sitemap xml dosyası oluşacaktır. Ama ilk dosyayı ya da güncellemeyi elle de tetikleyebilmekteyiz.</p>
<p>Xml dosyasının oluşmasını tetiklemek için central admin de timer job kısmına gelerek <strong>&#8220;Search Engine Sitemap job&#8221;</strong> adındak timer jobımızı buluyoruz. Bu timer jobımızı açtığımızda oluşturmak istediğimiz web application için tetiklenecek olan olmadığına dikkat etmemiz gerekmektedir.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/5.png"><img decoding="async" class="size-full wp-image-2043 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/5.png" alt="" width="885" height="722" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/09/5.png 885w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/5-300x245.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/5-768x627.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/5-542x442.png 542w" sizes="(max-width: 885px) 100vw, 885px" /></a></p>
<p>Burada aynı zaman da timer jobın ne kadar sürede bir tetiklenerek sitemap xml dosyasını güncellemesini ayarlayabilirsiniz. Default olarak günlük seçili gelecektir.</p>
<p><strong>NOT:</strong> Timer job çalışma periyodunu değiştireceğiniz zaman buranın beslendiği yerin Search Service olduğunu unutmayın. Search tarafındaki crawl süresine göre bunu ayarlayabilirsiniz ya da bunun süreciden göre search crawl sürecini değiştirmeniz gerekmektedir yoksa değişiklik olsa bile güncelleme olmayacaktır.</p>
<p>Tüm bu işlemleri sorunsuz bir şekilde tamamladıktan sonra ve timer jobımız sorunsuz bir şekilde çalıştığını gördükten sonra sitemiz de oluşan sitemap xml dosyalarının adreslerine ulaşacağınız adres yapısı <strong>&#8220;http://&lt;WebApp&gt;/sites/&lt;SiteColl&gt;/sitemap.xml&#8221;</strong> şeklinde olacaktır. Bu dosyanın içinde de göreceğiniz gibi site sayfalarının bilgilerinin yer aldığı xml dosyasıda <strong>&#8220;http://&lt;WebApp&gt;/sites/&lt;SiteColl&gt;/sitemap0.xml&#8221;</strong> url yapısında root sitenin altında olacaktır.</p>
<p>Oluşacak xml dosyasında yer alacak url yapısını yönetmek için site root ayarında &#8220;Site Collection Administration&#8221; sekmesinde yer alan ve bu özellikleri aktif ettikten sonra gelen özelliklerden biri olan <strong>&#8220;Search Engine Sitemap&#8221;</strong> seçeneğine tıklıyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/09/6.png"><img decoding="async" class="size-full wp-image-2044 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/09/6.png" alt="" width="1177" height="492" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/09/6.png 1177w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/6-300x125.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/6-768x321.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/09/6-1024x428.png 1024w" sizes="(max-width: 1177px) 100vw, 1177px" /></a></p>
<p>Burada default olarak gelen ayarlamaları göreceksiniz. Sintax a uygun şekilde yeni tanımlamalar ekleyebilir ya da var olan tanımlamaları silebilirsiniz.</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/09/11/sharepoint-sitemap-xml-dosyasinin-otamatik-olusturulmasi-hangi-sayfalarin-ekleneceginin-ayarlanmasi-ve-otomatik-olarak-guncellenmesini-saglamak/">SharePoint Sitemap XML Dosyasının Otamatik Oluşturulması, Hangi Sayfaların Ekleneceğinin Ayarlanması ve Otomatik Olarak Güncellenmesini Sağlamak</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.yunusemrearac.com/2019/09/11/sharepoint-sitemap-xml-dosyasinin-otamatik-olusturulmasi-hangi-sayfalarin-ekleneceginin-ayarlanmasi-ve-otomatik-olarak-guncellenmesini-saglamak/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2038</post-id>	</item>
		<item>
		<title>SharePoint Arama Sonuçlarında Sistem, Liste, Doküman Gibi Arka  Plan Sayfaların Gelmesini Engellemek</title>
		<link>https://www.yunusemrearac.com/2019/08/09/sharepoint-arama-sonuclarinda-sistem-liste-dokuman-gibi-arka-plan-sayfalarin-gelmesini-engellemek/</link>
					<comments>https://www.yunusemrearac.com/2019/08/09/sharepoint-arama-sonuclarinda-sistem-liste-dokuman-gibi-arka-plan-sayfalarin-gelmesini-engellemek/#respond</comments>
		
		<dc:creator><![CDATA[yunusemrearac]]></dc:creator>
		<pubDate>Fri, 09 Aug 2019 12:10:58 +0000</pubDate>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Crawl Rule]]></category>
		<category><![CDATA[Crawl Rules]]></category>
		<category><![CDATA[Crawling]]></category>
		<category><![CDATA[Exclude]]></category>
		<category><![CDATA[Include]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[New Crawl Rule]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Search Service]]></category>
		<category><![CDATA[SharePoint Search]]></category>
		<guid isPermaLink="false">http://yunusemrearac.com/?p=2005</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar bugün sizlere sharepoint ortamında search tarafında arama yaptığınızda gelecek sonuçlarda liste, doküman veya herhangi bir sistem sayfasının sonuçlarda gelmemesini nasıl sağlayabileceğimizden bahsedeceğim. Burada&#8230;</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/08/09/sharepoint-arama-sonuclarinda-sistem-liste-dokuman-gibi-arka-plan-sayfalarin-gelmesini-engellemek/">SharePoint Arama Sonuçlarında Sistem, Liste, Doküman Gibi Arka  Plan Sayfaların Gelmesini Engellemek</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar bugün sizlere sharepoint ortamında search tarafında arama yaptığınızda gelecek sonuçlarda liste, doküman veya herhangi bir sistem sayfasının sonuçlarda gelmemesini nasıl sağlayabileceğimizden bahsedeceğim.</p>
<p>Burada basit yöntemlerden biri search result teamplate düzenliyerek burada gelen sonuçlarda url kısmında filtreler ekleyerek bahsettiğimiz tiplerde sayfaların gelmemesini sağlayabilirsiniz ama bu yöntemden daha iyi ve performanslı bir yolda mevcut.</p>
<p>İlk olarak sharepoint central administratotion a giderek search servisimize gidiyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/08/1.png"><img decoding="async" class="size-full wp-image-2006 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/08/1.png" alt="" width="1606" height="996" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/08/1.png 1606w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/1-300x186.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/1-768x476.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/1-1024x635.png 1024w" sizes="(max-width: 1606px) 100vw, 1606px" /></a></p>
<p>Servis sayfasına geldiğiniz zaman sol tarafta yer alan menülerden <strong>&#8220;Crawling&#8221;</strong> başlığı adı altında bulunan <strong>&#8220;Crawl Rules&#8221;</strong> seçeneğine tıklayarak kural tanımlama sayfasına gidiyoruz.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/08/2.png"><img decoding="async" class="size-full wp-image-2007 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/08/2.png" alt="" width="1523" height="912" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/08/2.png 1523w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/2-300x180.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/2-768x460.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/2-1024x613.png 1024w" sizes="(max-width: 1523px) 100vw, 1523px" /></a></p>
<p>Bu sayfada daha önceden tanımlanmış kurallarınız varsa görebilirsiniz. Yeni kurallar ekleyebilirsiniz ya da örnek sayda adresleri ile kurallarınıza uyup uymadığını test edebilirsiniz. Ben şimdi yeni kurallarımı eklemek için <strong>&#8220;New Crawl Rule&#8221;</strong> diyerek yeni kural tanımlama ekranına gidiyorum.</p>
<p>Burada tanımlamalar yapıldığın da tanımlama da belirlediğinize göre url adreslerini search crawl çalışırken indexlemeye dahil eder ya da etmez. Bu saye de search performansında da kazanç sağlanmış olacaktır.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/08/3.png"><img decoding="async" class="wp-image-2012 size-full aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/08/3-e1565351072774.png" alt="" width="1920" height="927" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/08/3-e1565351072774.png 1920w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/3-e1565351072774-300x145.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/3-e1565351072774-768x371.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/3-e1565351072774-1024x494.png 1024w" sizes="(max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Burada &#8220;Path&#8221; yazan kısma altındaki açıklamadaki gibi nasıl bir url yapısında istiyorsak o şekilde url formatımızı yazıyoruz ve bu formata uyan sayfaların dahil edilecek mi yoksa dahil edilemeyecek mi diye seçiyoruz.</p>
<p>Bizim dediğimiz şekilde url tanımlaması yapmamız gerekmektedir. Bunlar:</p>
<ul>
<li><strong>*://*/lists/*</strong>   &#8212;   <strong>Exclude</strong>   &#8212;   Burada hangi protokol ya da hangi domain de sayfa adında olursa olsun bütün url yapısında list geçen adresleri engellenmesini istiyoruz.</li>
<li><strong>*://*/forms/*</strong>   &#8212;   <strong>Exclude</strong>   &#8212;   Bu tanımlamada ise list yapısındaki gibi tüm forms yapıları yani page edit sistem sayfaları vs gibi url adreslerini de engellenmesini istiyoruz.</li>
</ul>
<p>Bu iki adresi tanımladıktan sonra baktığımız zaman sayfaların da arama sonuçlarında gelmediğini göreceksiniz. Burada sayfaların engellenmesinin sebebi sayfa kütüphanelerinin görünüm sayfalarının search te gelmemesi bu sayfalar kütüphanesinin içindeki tüm sayfalarında indexlenmemesine sebep olacaktır.</p>
<p>Bunu engellemek için ise kütüphanelerin sadece dispform.aspx sayfalarının arama sonuçlarına dahil olması kuralını ekliyoruz.</p>
<ul>
<li><strong>*://*/forms/dispform.aspx</strong>   &#8212;   <strong>Include</strong>   &#8212;   Bu sayede sayfalarda search sonuçlarında gelecektir.</li>
</ul>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/08/4.png"><img decoding="async" class="size-full wp-image-2013 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/08/4.png" alt="" width="1514" height="140" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/08/4.png 1514w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/4-300x28.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/4-768x71.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/4-1024x95.png 1024w" sizes="(max-width: 1514px) 100vw, 1514px" /></a></p>
<p>Tüm kurallarımız yukarıdaki gibi eklemiş olduk ama bu kurallara göre test yaptığımız zaman yine sayfaların gelmediğini göreceksiniz. Bunun sebebi ise burada ki kurallar sıralama ya göre if else mantığı gibi çalışmaktadır. Yani sıraya göre herhangi bir kurala takılan bir adres diğer sıradaki kurallara bakılmaksızın uygulanacaktır.</p>
<p>Bu sıralama da <strong>*://*/forms/*</strong> kuralını *<strong>://*/forms/dispform.aspx</strong> kuralından önce geldiği için ve bu kural diğerinin kapsayıcısı olduğu için dispform.aspx sayları da <strong>*://*/forms/*</strong> kuralında takılıp diğer kurala bakılmaksızın dahil edilmeyecektir.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/08/5.png"><img decoding="async" class="size-full wp-image-2014 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/08/5.png" alt="" width="1540" height="134" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/08/5.png 1540w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/5-300x26.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/5-768x67.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/08/5-1024x89.png 1024w" sizes="(max-width: 1540px) 100vw, 1540px" /></a>Sıralamayı bahsettiğimiz gibi değiştirdikten sonra tüm kurallara uygun şekilde tanımlamalarımızı yapmış olduk. Bahsettiğim gibi burada ekleyeceğiniz kurallardan bir diğerininde kapsayacak bir kural ise bu sıralamaya dikkat edilmesi gerekmektedir.</p>
<p>Bu ayarlamaları sorunsuz yapıp test ettğimizde herhangi bir hata görülmüyorsa tek yapmamız gereken search crawlu full crawl olarak tekrar başlatmamız gerekmektedir. Bu sayede search yeni kurallarımıza göre engellediğimiz sayfaları indexlemeyecek şekilde tekrar indexlemesini yapacaktır ve bu kurallara uymayan sayfalar arama sonuçlarında gelmeyecektir.</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/08/09/sharepoint-arama-sonuclarinda-sistem-liste-dokuman-gibi-arka-plan-sayfalarin-gelmesini-engellemek/">SharePoint Arama Sonuçlarında Sistem, Liste, Doküman Gibi Arka  Plan Sayfaların Gelmesini Engellemek</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.yunusemrearac.com/2019/08/09/sharepoint-arama-sonuclarinda-sistem-liste-dokuman-gibi-arka-plan-sayfalarin-gelmesini-engellemek/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2005</post-id>	</item>
		<item>
		<title>SharePoint KeywordQuery Kullanarak Arama Sorgusu Yaparak Sonuçları Listeleme</title>
		<link>https://www.yunusemrearac.com/2019/05/08/sharepoint-keywordquery-kullanarak-arama-sorgusu-yaparak-sonuclari-listeleme/</link>
					<comments>https://www.yunusemrearac.com/2019/05/08/sharepoint-keywordquery-kullanarak-arama-sorgusu-yaparak-sonuclari-listeleme/#respond</comments>
		
		<dc:creator><![CDATA[yunusemrearac]]></dc:creator>
		<pubDate>Wed, 08 May 2019 08:08:48 +0000</pubDate>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[DataTable]]></category>
		<category><![CDATA[KeywordQuery]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft.Office.Server.Search]]></category>
		<category><![CDATA[ResultTableCollection]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[Search Service]]></category>
		<category><![CDATA[SearchExecutor]]></category>
		<category><![CDATA[SharePoint Search]]></category>
		<category><![CDATA[SPSite]]></category>
		<guid isPermaLink="false">http://yunusemrearac.com/?p=1923</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar bugün sizlere SharePoint ortamında server side olarak &#8220;KeywordQuery&#8221; kullanarak nasıl sharepoint search servisini kullanarak sorgu atıp gelen sonuçları alabileceğinizden bahsedeceğim. İlk olarak oluşturduğumuz&#8230;</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/05/08/sharepoint-keywordquery-kullanarak-arama-sorgusu-yaparak-sonuclari-listeleme/">SharePoint KeywordQuery Kullanarak Arama Sorgusu Yaparak Sonuçları Listeleme</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar bugün sizlere SharePoint ortamında server side olarak <strong>&#8220;KeywordQuery&#8221;</strong> kullanarak nasıl sharepoint search servisini kullanarak sorgu atıp gelen sonuçları alabileceğinizden bahsedeceğim.</p>
<p>İlk olarak oluşturduğumuz projeye <strong>&#8220;Microsoft.Office.Server.Search&#8221;</strong> referansını ekliyoruz.</p>
<p>Oluşturduğumuz webpartımızın ascx tarafında arama textbox ımızı, butonumuzu ve sonuçların listeleneceği repeater kontrollerimizi ekliyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">&lt;asp:TextBox ID="searchText" runat="server"&gt;&lt;/asp:TextBox&gt;
&lt;asp:Button ID="btnSearch" runat="server" OnClick="btnSearch_Click" Text="Search" /&gt;

&lt;asp:Repeater ID="rptSearch" runat="server"&gt;
    &lt;ItemTemplate&gt;
        &lt;p&gt;&lt;a href="&lt;%# Eval("Url") %&gt;"&gt;&lt;%# Eval("Title") %&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/ItemTemplate&gt;
&lt;/asp:Repeater&gt;</pre><p>Daha sonra code behind tarafına geçerek burada sonuçlarımıza uygun bir sınıf oluşturuyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">public class SearchResult
{
    public string Title { set; get; }
    public string Url { set; get; }
}</pre><p>Sonrasında ascx tarafında otamatik oluşturmuş olduğumuz <strong>&#8220;btnSearch_Click&#8221;</strong> eventımızın içine giderek kodumuzu yazmaya devam ediyoruz.</p>
<p>İlk olarak sitemizde arama yaptıracağımız için <strong>SPSite</strong> ile site bağlantımızı yapmamız gerekmektedir.</p><pre class="urvanov-syntax-highlighter-plain-tag">SPSite site = SPContext.Current.Site;</pre><p>Bu tanımlamadan sonra ilk olarak sorgu parametrelerini tanımlamak için <strong>&#8220;KeywordQuery&#8221;</strong> değişkenimizi oluşturuyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">KeywordQuery kq = new KeywordQuery(site);</pre><p>Bu parametremiz için gerekli olan ve kullanacağımız <strong>SourceId, QueryText, SelectProperties ve RowLimit</strong> parametrelerine gerekli atamalarımızı yapıyoruz. Bu örnekte sadece bu kadar parametre kullanma ihtiyacı duydum siz bunların sayısını da arttırabilirsiniz ihtiyacınıza uygun olarak.</p><pre class="urvanov-syntax-highlighter-plain-tag">kq.SourceId = new Guid("8413cd39-2156-4e00-b54d-11efd9abdb89");
kq.QueryText = "* " + searchText.Text;
kq.SelectProperties.Add("Title");
kq.SelectProperties.Add("Path");
kq.RowLimit = 20;</pre><p>Bu kısımda:</p>
<p>SourceId kısmında verdiğimiz Guid id&#8217;si aslında daha önceki <u><a href="http://yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/">SharePoint PNP JS Core Search Yapısında Arama Yapılmasını İstediğimiz Alanı Özelleştirmemize Yarayan ‘SourceId’ Parametre Değerleri ve Karşılıkları</a></u> yazımda da bahsettiğim gibi genel arama kriterlerinden bahsedeceğim için bu id tanımlanmıştır.</p>
<p>QueryText parametresinde ise başta yıldız olmasının sebebi sql command&#8217;ta olduğu gibi girilen text değerinin bire bir değil içinde geçenleri de aramasını sağlamaktadır. Bu alana path vs gibi filtrelerde eklenebilmektedir. Search webpartında yer alan query kısmındaki tüm özellikleri desteklemektedir. Ekstra olarak textboxtan gelen değeri aratmak istediğim için bu alandaki text değerini de buraya ekledim.</p>
<p>SelectProperties kısmında ise gelmesini istediğimiz değerleri ekliyoruz. Burada sadece <strong>Title</strong> ve <strong>Path</strong> bilgilerinin gelmesini istediğim için bu ik değeri ekledim. İsteğe göre arttırabilirsiniz.</p>
<p>Gerekli ayarlamalarımızı yaptıktan sonra sorgumuzu atabiliriz. Aşağıdaki gibi <strong>&#8220;SearchExecutor&#8221;</strong> ile sorgumuzu atıyoruz.</p>
<p>ResultTableCollection resultTables = new SearchExecutor().ExecuteQuery(kq);</p>
<p>Sorgumuz sonucu bize <strong>&#8220;ResultTableCollection&#8221;</strong> tipinde gelecektir buradan işimize yarayacak datatable tablosunu almamız gerekmektedir.</p>
<p>DataTable resultDataTable = resultTables.FirstOrDefault().Table;</p>
<p>Buradan sonra bu tablo içerisinde gezerek kullanacağımız değerleri modellimiz formatına getirerek toplamamız gerekmektedir. Bu modelleri toplayabilmek için oluşturduğumuz model türünde liste oluşturuyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">List&lt;SearchResult&gt; searchResultList = new List&lt;SearchResult&gt;();</pre><p>Sonuç tablomuz üzerinde gezerek modelleri oluşturup model listemize ekliyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">foreach (DataRow row in resultDataTable.Rows)
{
    SearchResult searchResult = new SearchResult();

    searchResult.Title = row["Title"].ToString();
    searchResult.Url = row["Path"].ToString();

    searchResultList.Add(searchResult);
}</pre><p>Arama sonuçlarımızın istediğimiz modele uygun şekile getirilmiş bir halde elimiz de bir listemiz yer almaktadır. Şimdide bu listeyi ekranda görebilmek için repeater a bind ediyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">rptSearch.DataSource = searchResultList;
rptSearch.DataBind();</pre><p>Gördüğünüz gibi bu şekilde sharepoint search alt yapısını kullanarak kendi arama uygulamamızı yazmış olduk.</p>
<p>Kodun tamamını bir verecek olursak aşağıdaki gibi bir code behind olacaktır.</p><pre class="urvanov-syntax-highlighter-plain-tag">using Microsoft.Office.Server.Search.Query;
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI;

namespace GetSharePointSearchResult.GetSharePointSearchResult
{
    public partial class GetSharePointSearchResultUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void btnSearch_Click(object sender, EventArgs e)
        {
            SPSite site = SPContext.Current.Site;
            KeywordQuery kq = new KeywordQuery(site);
            kq.SourceId = new Guid("8413cd39-2156-4e00-b54d-11efd9abdb89");
            kq.QueryText = "* " + searchText.Text;
            kq.SelectProperties.Add("Title");
            kq.SelectProperties.Add("Path");
            kq.RowLimit = 20;
            ResultTableCollection resultTables = new SearchExecutor().ExecuteQuery(kq);

            DataTable resultDataTable = resultTables.FirstOrDefault().Table;

            List&lt;SearchResult&gt; searchResultList = new List&lt;SearchResult&gt;();

            foreach (DataRow row in resultDataTable.Rows)
            {
                SearchResult searchResult = new SearchResult();

                searchResult.Title = row["Title"].ToString();
                searchResult.Url = row["Path"].ToString();

                searchResultList.Add(searchResult);
            }

            rptSearch.DataSource = searchResultList;
            rptSearch.DataBind();
        }

        public class SearchResult
        {
            public string Title { set; get; }
            public string Url { set; get; }
        }
    }
}</pre><p>Sitemizde yer alan default arama ekranından arama yaptığımız da gelen sonuç ekranı aşağıdaki gibidir.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result.png"><img decoding="async" class="size-full wp-image-1924 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result.png" alt="" width="1919" height="1048" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result.png 1919w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result-300x164.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result-768x419.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-default-search-result-1024x559.png 1024w" sizes="(max-width: 1919px) 100vw, 1919px" /></a></p>
<p>Birde yazdığımız arama webpartında aynı aramayı yapalım.</p>
<p><a href="http://yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result.png"><img decoding="async" class="size-full wp-image-1925 aligncenter" src="https://yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result.png" alt="" width="1919" height="1052" srcset="https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result.png 1919w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result-300x164.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result-768x421.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2019/05/sharepoint-site-custom-search-result-1024x561.png 1024w" sizes="(max-width: 1919px) 100vw, 1919px" /></a></p>
<p>Gördüğünüz gibi aynı sonuçları getirmektedir.</p>
<p>Projenin tamamını aşağıdaki github linkindende indirebilirsiniz.</p>
<p><a href="https://github.com/yunusemrearac/GetSharePointSearchResultWithKeywordQuery" target="_blank" rel="noopener noreferrer"><img decoding="async" class="alignnone wp-image-1789 size-medium" src="https://yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-300x120.png" alt="" width="300" height="120" srcset="https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-300x120.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-768x306.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-1024x408.png 1024w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa.png 1254w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>The post <a href="https://www.yunusemrearac.com/2019/05/08/sharepoint-keywordquery-kullanarak-arama-sorgusu-yaparak-sonuclari-listeleme/">SharePoint KeywordQuery Kullanarak Arama Sorgusu Yaparak Sonuçları Listeleme</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.yunusemrearac.com/2019/05/08/sharepoint-keywordquery-kullanarak-arama-sorgusu-yaparak-sonuclari-listeleme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1923</post-id>	</item>
		<item>
		<title>SharePoint Online&#8217;da Konsol Uygulamasıyla Kullanıcı Profillerinde ( User Profile ) Filitreliyerek ya da Arama yaparak Kullanıcıları ve Özelliklerini ( User and Properties ) Getirmek</title>
		<link>https://www.yunusemrearac.com/2019/01/11/sharepoint-onlineda-konsol-uygulamasiyla-kullanici-profillerinde-user-profile-filitreliyerek-ya-da-arama-yaparak-kullanicilari-ve-ozelliklerini-user-and-properties-getirmek/</link>
					<comments>https://www.yunusemrearac.com/2019/01/11/sharepoint-onlineda-konsol-uygulamasiyla-kullanici-profillerinde-user-profile-filitreliyerek-ya-da-arama-yaparak-kullanicilari-ve-ozelliklerini-user-and-properties-getirmek/#respond</comments>
		
		<dc:creator><![CDATA[yunusemrearac]]></dc:creator>
		<pubDate>Fri, 11 Jan 2019 09:43:09 +0000</pubDate>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[App.Config]]></category>
		<category><![CDATA[clientContext]]></category>
		<category><![CDATA[clientContext.Credentials]]></category>
		<category><![CDATA[ConfigurationManager.AppSettings]]></category>
		<category><![CDATA[Console Application]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[KeywordQuery]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft.SharePoint.Client]]></category>
		<category><![CDATA[Microsoft.SharePoint.Client.Runtime]]></category>
		<category><![CDATA[Microsoft.SharePoint.Client.Search]]></category>
		<category><![CDATA[Program.cs]]></category>
		<category><![CDATA[SearchExecutor]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<category><![CDATA[SharePoint Search]]></category>
		<category><![CDATA[SharePoint User Profile]]></category>
		<category><![CDATA[SharepointOnlineUrl]]></category>
		<category><![CDATA[SharepointOnlineUserEmail]]></category>
		<category><![CDATA[SharepointOnlineUserPassword]]></category>
		<category><![CDATA[System.configuration]]></category>
		<category><![CDATA[User Profile]]></category>
		<guid isPermaLink="false">http://yunusemrearac.com/?p=1856</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar, daha önceden ihtiyacınız olduğu zaman araştırdığınız zaman görmüş olabilirsiniz ya da yeni araştırıyorsanız ve bilginiz yoksa haberiniz olsun SharePoint Online üzerinde SharePoint Server&#8230;</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/01/11/sharepoint-onlineda-konsol-uygulamasiyla-kullanici-profillerinde-user-profile-filitreliyerek-ya-da-arama-yaparak-kullanicilari-ve-ozelliklerini-user-and-properties-getirmek/">SharePoint Online&#8217;da Konsol Uygulamasıyla Kullanıcı Profillerinde ( User Profile ) Filitreliyerek ya da Arama yaparak Kullanıcıları ve Özelliklerini ( User and Properties ) Getirmek</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar, daha önceden ihtiyacınız olduğu zaman araştırdığınız zaman görmüş olabilirsiniz ya da yeni araştırıyorsanız ve bilginiz yoksa haberiniz olsun SharePoint Online üzerinde SharePoint Server Side gibi direk dll userinden SharePoint UserProfile servisini kullanamıyoruz ve bundan dolayı SharePoint online üzerinde direk olarak sharepoint kullanıcılarına erişip onları alamıyoruz.</p>
<p>Peki sharepoint online tarafında kullanıcıları çekmek ya da kullanıcı özelliklerine ihtiyacınız olduğu zaman nasıl yapacağız. Bu kısımda da yardımımıza search yetişmektedir. Search yapısını kullanarak direk sharepoint kullanıcıları üzerine sorgu atabilir ve istediğiniz kullanıcılar ve özelliklerini alabilirsiniz. Buradaki tek dez avantaz kullanıcılarda güncellenen değerlerin güncel olarak gelmesi SharePoint Online tarafındanki search yansıma hızına göre size de yansıması gecikecektir.</p>
<p>İlk olarak visual studio üzerinde açmış olduğunuz konsol uygulamamıza gerekli olan referanslarımızı ekliyoruz.</p>
<ul>
<li><strong>Microsoft.SharePoint.Client</strong> ( Version : 16.0.0.0 )</li>
<li><strong>Microsoft.SharePoint.Client.Runtime</strong> ( Version : 16.0.0.0 )</li>
<li><strong>Microsoft.SharePoint.Client.Search</strong> ( Verison : 16.0.0.0 ) &#8212; <strong>Not:</strong> Direk referanslar arasında aradığınız da bulamayabilirsiniz. Referans eklerken arama butonuna tıklayıp Microsoft.SharePoint.Client dosya konumuna gidip oradan seçerek eklemeniz gerekecektir.</li>
<li><strong>System.Configuration</strong> ( Version : 4.0.0.0 ) &#8212; Bu referans ise App.config dosyasından AppSettings ile online  erişim bilgilerimizi dinamik olarak alabilmemiz için.</li>
</ul>
<p>Projemize yukarıdaki referanslarımızı ekledikten sonra <strong>App.config</strong> dosyamıza giderek kullanacağımız dinamik verilerimizi burada tanımlamamız gerekiyor.</p><pre class="urvanov-syntax-highlighter-plain-tag">&lt;appSettings&gt;
    &lt;add key="SharepointOnlineUrl" value=""/&gt;
    &lt;add key="SharepointOnlineUserEmail" value=""/&gt;
    &lt;add key="SharepointOnlineUserPassword" value=""/&gt;
&lt;/appSettings&gt;</pre><p></p>
<ul>
<li><strong>SharepointOnlineUrl</strong> : Sharepoint online site url adresi</li>
<li><strong>SharepointOnlineUserEmail</strong> : Sharepoint online kullanıcı email adresi</li>
<li><strong>SharepointOnlineUserPassword</strong> : Sharepoint online kullanıcı şifresi</li>
</ul>
<p>Bu verileri value içinde bağlantı bilgilerini yazarak dosyamıza ekliyoruz. Daha sonra <strong>Program.cs</strong> dosyamıza gelerek kodumuzu yazmaya başlıyoruz.</p>
<p>İlk olarak App.config dosyamıza yazdığımız bilgileri okuyarak değişkenlerimize atamasını yapıyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">string SharePointOnlineUrl = ConfigurationManager.AppSettings["SharepointOnlineUrl"].ToString();
string SharePointOnlineUserLoginName = ConfigurationManager.AppSettings["SharepointOnlineUserEmail"].ToString();
string SharePointOnlineUserPassword = ConfigurationManager.AppSettings["SharepointOnlineUserPassword"].ToString();</pre><p>Bu değerleri okuduktan sonra kullanıcılarımızdan alacağımız bilgileri bir model ile yada tek bir bilgi ile mi alacağımıza göre bir liste oluşturuyoruz. Burada ben sadece gelen kullanıcıların <strong>&#8220;WorkEmail&#8221;</strong> property alanlarını alacağım için bana model değil string bir liste yeterli gelecektir.</p><pre class="urvanov-syntax-highlighter-plain-tag">List&lt;string&gt; SharePointSearchUserList = new List&lt;string&gt;();</pre><p>Bundan sonraki adımda <strong>ClientContext</strong> ile sharepoint online sitemize bağlanarak işlemlerimize devam etmemiz kaldı. Bu aşamadan sonraki işlemler clientcontext içerisinde geçeceği için using ile clientcontext kod aralığımızı oluşturuyoruz ve tüm kodumuzu bu alan içerisinde yazmaya devam ediyoruz.</p><pre class="urvanov-syntax-highlighter-plain-tag">using (ClientContext clientContext = new ClientContext(SharePointOnlineUrl))
 {
    // Code
 }</pre><p>Sitemize tam olarak erişebilmek için kullanıcı adı ve şifre ile online sitemize login olmamız gerekmektedir. Aşağıdaki kod ile bu işlemi yapıyoruz. Bununla ilgili detaylı blog yazımı okumak için <a href="http://yunusemrearac.com/2018/10/09/sharepoint-online-siteye-console-uygulamasi-kullanarak-baglanmak/" target="_blank" rel="noopener">tıklayınız.</a></p><pre class="urvanov-syntax-highlighter-plain-tag">SecureString passWord = new SecureString();

foreach (char c in SharePointOnlineUserPassword.ToCharArray()) passWord.AppendChar(c);

clientContext.Credentials = new SharePointOnlineCredentials(SharePointOnlineUserLoginName, passWord);</pre><p>Sitemize giriş yaptıktan sonra <strong>KeywordQuery</strong> kullanarak search query mizi oluşturarak sorgu atmamız gerekecektir.</p>
<p>Bu nokta da dikkat etmemiz gereken bir nokta ise tek sefer de bir sorgudan bize en fazla <strong>500</strong> tane sonuç dönmektedir. Sizin sorgu sonucunuz bu sayıdan fazla olacak ise burada bir daha sorgu atarak gelecek sonucun başlangıç indexinin önceki çektiğimiz verilerin son verinin indexi olması gerekmektedir. bunun içinde KeywordQuery query imize <strong>StartRow</strong> diye bir değişkende atamamız gerekmektedir.</p>
<p>Burada genellkle gelecek sayı her zaman bilinemez ve her ihtimale göre çalışabilmesi için ben while kullanarak son gelen datanın 500 den küçük sayıda olana kadar devamlı sorgu atmasını sağlayıp gelen sayıya bağlı olmadan sorunsuz şekilde tüm verimi çekebileceğim.</p><pre class="urvanov-syntax-highlighter-plain-tag">int searchCount = 0;
int cs = 500;

while (cs &gt; 499)
{
    cs = 0;

    KeywordQuery query = new KeywordQuery(clientContext);
    query.QueryText = "RefinableInt00:1";  // Change your user filter query
    query.SourceId = new Guid("B09A7990-05EA-4AF9-81EF-EDFAB16C4E31");
    query.RowLimit = 500;
    query.StartRow = searchCount;

    SearchExecutor search = new SearchExecutor(clientContext);


    ClientResult&lt;ResultTableCollection&gt; results = search.ExecuteQuery(query);
    clientContext.ExecuteQuery();


    foreach (var resultRow in results.Value[0].ResultRows)
    {
        SharePointSearchUserList.Add(Convert.ToString(resultRow["WorkEmail"]));
        cs++;
    }

    searchCount += cs;
}</pre><p>Buradaki kodu açıklayacak olursak;</p>
<ul>
<li><strong>searchCount</strong> : Bu parametre bizim eğer gelecek sonucumuz 500 den büyük ise bir sonraki sorgumuz da hangi indexten başlayacağımızı tutacağımız değişken olacaktır. İlk olarak sıfır dan başlayacağı için ilk değeri sıfır olarak tanımlanmıştır.</li>
<li><strong>cs</strong> : Bu parametre ise bizim o anki sorgumuzdan gelen sayının bir sonraki sorguya ihtiyacımız olup olmayacağını anlamamız için kullanacağımız bir değişken. Ben değeri sınırda tuttuğum için ve ehile koşulum en az 500 olması gerektiği için ilk değerimi 500 olarak tanımlıyorum. Sonrasında while döngüsüne girer girmez bu değişkeni sıfırlıyorum ki o anki sorguda gelecek olan verilerimin sayısını tutabileyim. Birde her gelen sayı içinde bu değişkenimi bir değer arttırıyorum. Gelen değer sayım bittiğinde 500 den küçükse eğer daha sorgu atmama gerek kalmadığını anlayıp while döngüsünden çıkacağım.</li>
<li><strong>QueryText</strong> : Burada sharepoint search için yapacağım sorguyu text olarak tanımlıyorum. Ben burada <strong>RefinableInt00</strong> user profile propetrisinin 1 olan kullanıcıları için filtreliyorum. Bu kısım sizin ihtiycınıza ve sorgunuza göre değişecektir.</li>
<li><strong>SourceId</strong> : Burada benim sorgu atacağım ve ihtiyacım olan veri türü sharepoint user profile people olduğu için ona uygun id yi guid olarak veriyorum. Bu Source Id değerlerini ve çeşitliliği için yazdığım blog yazısı için <a href="http://yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/" target="_blank" rel="noopener">tıklayınız.</a></li>
<li><strong>RowLimit</strong> : Bu kısım yapacağınız sorguda gelmesini istediğiniz öğe sayısını belirtiyorsunuz. Dediğim gibi eğer 500 limitine takılmak istemiyorsanız ve bu yapıyı kullanacaksanız buraya <strong>cs</strong> değişkeninin ilk değerini tanımlamanız gerekmektedir. Ondan dolayı bende 500 olarak tanımladım.</li>
<li><strong>StartRow</strong> : Bu değişken ise eğer birden fazla sorgu atacak iseniz bu alanda sonraki sorguların hangi indexten başlayacağını belirteceğimiz parametreyi vermemiz gerekecektir. Bunun için tanımlamış olduğumuz searchCount değişkenini buraya tanımlıyoruz.</li>
</ul>
<p>Daha sonraki aşamada <strong>SearchExecutor</strong> ile searchümüzü oluşturup oluşturduğumuz query imizi buraya execute ediyoruz. Bize <strong>ResultTableCollection</strong> modelinde bir sonuç dönmektedir ve burada yukarıdaki gibi bir foreach ile istediğimiz kullanıcı özelliğini alabiliriz. Ben <strong>&#8220;WorkEmail&#8221;</strong> property sini almak istediğim için onu belirttim.</p>
<p>Gördüğümüz gibi bu şekilde herhangi birşeye takılmadan generic bir şekilde kodumuzu tamamlıyoruz ve istediğimiz gibi user profile üzerinden verilerimizi çekebiliyoruz.</p>
<p>Bu kodun tamamını GitHub adresinden indirebilirsiniz.</p>
<p><a href="https://github.com/yunusemrearac/SharePointOnlineGetSearchUser" target="_blank" rel="noopener"><img decoding="async" class="wp-image-1789 size-medium alignleft" src="https://yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-300x120.png" alt="" width="300" height="120" srcset="https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-300x120.png 300w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-768x306.png 768w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa-1024x408.png 1024w, https://www.yunusemrearac.com/wp-content/uploads/2018/10/Github-source-code-downloa.png 1254w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>The post <a href="https://www.yunusemrearac.com/2019/01/11/sharepoint-onlineda-konsol-uygulamasiyla-kullanici-profillerinde-user-profile-filitreliyerek-ya-da-arama-yaparak-kullanicilari-ve-ozelliklerini-user-and-properties-getirmek/">SharePoint Online&#8217;da Konsol Uygulamasıyla Kullanıcı Profillerinde ( User Profile ) Filitreliyerek ya da Arama yaparak Kullanıcıları ve Özelliklerini ( User and Properties ) Getirmek</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.yunusemrearac.com/2019/01/11/sharepoint-onlineda-konsol-uygulamasiyla-kullanici-profillerinde-user-profile-filitreliyerek-ya-da-arama-yaparak-kullanicilari-ve-ozelliklerini-user-and-properties-getirmek/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1856</post-id>	</item>
		<item>
		<title>SharePoint PNP JS Core Search Yapısında Arama Yapılmasını İstediğimiz Alanı Özelleştirmemize Yarayan &#8216;SourceId&#8217; Parametre Değerleri ve Karşılıkları</title>
		<link>https://www.yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/</link>
					<comments>https://www.yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/#comments</comments>
		
		<dc:creator><![CDATA[yunusemrearac]]></dc:creator>
		<pubDate>Mon, 07 Jan 2019 14:07:44 +0000</pubDate>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Pnp-Js-Core]]></category>
		<category><![CDATA[PnpJs]]></category>
		<category><![CDATA[Query]]></category>
		<category><![CDATA[Query Source]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[SharePoint Search]]></category>
		<category><![CDATA[SourceId]]></category>
		<guid isPermaLink="false">http://yunusemrearac.com/?p=1848</guid>

					<description><![CDATA[<p>Merhaba arkadaşlar bugün sizlere SharePoint ortamında Pnp-Js-Core yapısında search kullanarak site de arama yapıldığında bu arama alanının belli bir alanda yapabilmemizi sağlayan özelliklerden biri olan&#8230;</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/">SharePoint PNP JS Core Search Yapısında Arama Yapılmasını İstediğimiz Alanı Özelleştirmemize Yarayan &#8216;SourceId&#8217; Parametre Değerleri ve Karşılıkları</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba arkadaşlar bugün sizlere SharePoint ortamında Pnp-Js-Core yapısında search kullanarak site de arama yapıldığında bu arama alanının belli bir alanda yapabilmemizi sağlayan özelliklerden biri olan <strong>&#8216;SourceId&#8217;</strong> parametresinden ve bu parametrenin değer karşılıklarından bahsedeceğim.</p>
<p>SharePoint tarafında bir modülü arkaplanda search yapısı kullanarak yapmak istediğinizde pnp js search özelliğini kullanmanız gerekmetedir. Ama burada default search araması gibi dokümanlarda, kişilerde, wiki dosyalarında, videolarda vb gibi detaylı ve arama alanımızı özelleştirmek isteyebiliriz.</p><pre class="urvanov-syntax-highlighter-plain-tag">pnp.sp.search({
  Querytext: "test",
  RowLimit: "10",
  SourceId: "8413cd39-2156-4e00-b54d-11efd9abdb89",
  EnableInterleaving: true,
}).then((results) =&gt; {
  let resultSet = [];
  for (var i=0; i &lt; results.PrimarySearchResults.length; i++)
    {
      resultSet.push(results.PrimarySearchResults[i]);
     };
});</pre><p>Yukarıda pnp js search ile yapılan bir sorgu örneği görmektesiniz. Burada gönderilen parametre değerleri arasında yer alan <strong>&#8216;SourceId&#8217;</strong> değişkenine Guid Id şeklinde bir değişken gitmektedir ve bu parametre tanımları sabit olarak alan ve özelliklere göre değişmektedir.</p>
<p>Aşağıdaki tablo da bu Id leri ve karşılıklarını görebilirsiniz.</p>
<div style="direction: ltr;">
<table style="direction: ltr; border-collapse: collapse; border: 1pt solid #a3a3a3; height: 476px;" title="" border="1" summary="" width="634" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;"><span style="font-weight: bold;">Name</span></p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9659in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;"><span style="font-weight: bold;">Id</span></p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Conversations</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0319in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">459dd1b7-216f-4386-9709-287d5d22f568</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Documents</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0354in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">e7ec8cee-ded8-43c9-beb5-436b54b31e84</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Items related to current user</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9958in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">48fec42e-4a92-48ce-8363-c2703a40e67d</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Local People Results</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9659in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">b09a7990-05ea-4af9-81ef-edfab16c4e31</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.325in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Local Reports And Data Results</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9993in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">203fba36-2763-4060-9931-911ac8c0583b</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Local SharePoint Results</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0354in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">8413cd39-2156-4e00-b54d-11efd9abdb89</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Local Video Results</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9659in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">78b793ce-7956-4669-aa3b-451fc5defebf</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Pages</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9659in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">5e34578e-4d08-4edc-8bf3-002acf3cdbcc</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Pictures</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0138in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">38403c8c-3975-41a8-826e-717f2d41568a</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Popular</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0354in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">97c71db1-58ce-4891-8b64-585bc2326c12</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Recently changed items</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9666in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">ba63bbae-fa9c-42c0-b027-9a878f16557c</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Recommended Items</p>
</td>
<td style="background-color: white; vertical-align: top; width: 3.0083in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">ec675252-14fa-4fbe-84dd-8d098ed74181</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Wiki</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9687in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">9479bf85-e257-4318-b5a8-81a180f5faa1</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Items With Same Keyword As This Item</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9687in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">5c069288-1d17-454a-8ac6-9c642a065f48</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Items Matching Tag</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9687in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">e1327b9c-2b8c-4b23-99c9-3730cb29c3f7</p>
</td>
</tr>
<tr>
<td style="background-color: white; vertical-align: top; width: 2.3055in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">Items Matching Content Type</p>
</td>
<td style="background-color: white; vertical-align: top; width: 2.9687in; padding: 4pt 4pt 4pt 4pt; border: 1pt solid #A3A3A3;">
<p style="margin: 0in; font-family: -apple-system; font-size: 12.0pt; color: #212529;">5dc9f503-801e-4ced-8a2c-5d1237132419</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Yukarıdaki tabloda gördüğünüz isimlere göre istediğiniz id alıp kullanarak arama sorgu alanınınızı özelleştirebilirsiniz.</p>
<p>The post <a href="https://www.yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/">SharePoint PNP JS Core Search Yapısında Arama Yapılmasını İstediğimiz Alanı Özelleştirmemize Yarayan &#8216;SourceId&#8217; Parametre Değerleri ve Karşılıkları</a> appeared first on <a href="https://www.yunusemrearac.com">Yunus Emre Araç</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.yunusemrearac.com/2019/01/07/sharepoint-pnp-js-core-search-yapisinda-arama-yapilmasini-istedigimiz-alani-ozellestirmemize-yarayan-sourceid-parametre-degerleri-ve-karsiliklari/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1848</post-id>	</item>
	</channel>
</rss>
