<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Dark Corners: A Blog about Fast Search Server 2010</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/dark_corners/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/dark_corners/feed.xml</link>
    <description>Tutorials on and about Fast Search Server 2010</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:20:30 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>FAST Search for SharePoint 2010 Item-Level Security Using FAST Search JDBC Database Connector</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/fast-search-for-sharepoint-2010-item-level-security-using-fast-search-jdbc-database-connector</link>
      <pubDate>Tue, 03 Apr 2012 14:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/04/03/fast-search-for-sharepoint-2010-item-level-security-using-fast-search-jdbc-database-connector/</guid>
      <description><![CDATA[[We now take a brief interlude. This post is written by my colleague Richard Palawan and will cover...]]></description>
      <content:encoded><![CDATA[<p><em>[We now take a brief interlude. This post is written by my colleague Richard Palawan and will cover the JDBC connector which is a holdover from the orginal Fast product that was ported over for our legacy customers. There are times where it comes in handy in Fast Search Server and Richard will cover that. Enjoy! --Carlos Valcarcel]</em></p>
<p>Richard Palawan</p>
<p>Microsoft Corporation, April 2012</p>
<h1>Background</h1>
<p>When setting up an enterprise search service, it is necessary to apply specific access restrictions different parts of the crawled content. When crawling database content into FAST Search for SharePoint 2010, using the BDC framework is the preferred method for implementing item-level security in FAST Search. However, there are conditions under which using the FAST JDBC Database Connector is more appropriate. Refer to online documentation for reference; e.g. <a href="https://msdn.microsoft.com/en-us/library/ff383278.aspx">https://msdn.microsoft.com/en-us/library/ff383278.aspx</a> .</p>
<p>There are a few references and samples that describe the process of implementing item-level security using BDC. However, there is little documentation on how to achieve the same result using the JDBC Database connector. In this writing, we go over a JDBC-based implementation.</p>
<h1>Security Model &ndash; Item Level</h1>
<p>The architecture of FAST provides a means of storing a Security Descriptor (SD) for each index record. The Security Descriptor contains two lists: Granted SID, Denied SID, where SID is a Security Identifier of a security principal such as a user or a group. The SID can refer to varying security providers such as Active Directory (AD), Forms Authentication, and Windows Live.</p>
<h1>Search Results Trimming</h1>
<p>When a call is received by the FAST query processor, it also contains a claims ticket indicating the identity of the end user and the user's Security Groups (SG). Since each record in the search index may contain a Security Descriptor, the FAST query engine intersects the user's identity and associated SG's against the record's access control list (ACL), and if access is granted, and access is not denied, the record is included in the result set; otherwise, it is skipped.</p>
<h1>Injecting the Security Descriptor as Part of the Database Record</h1>
<p>In order to implement this using the JDBC database connector, we need to assign the information in the security descriptor directly to a special property in the FAST engine named <em>docacl</em>. The feed processing pipeline recognizes the special property and does not convert the value into a crawled property, but instead assigns the value directly to the <em>docacl</em> field in the index.</p>
<h1>Generating a Security Descriptor</h1>
<p>Here is the description of the <em>docacl</em> value that holds the security descriptor information according to MSDN <span style="color: #1f497d;">(<a href="https://msdn.microsoft.com/en-us/library/ee626835(office.12).aspx" target="_blank">https://msdn.microsoft.com/en-us/library/ee626835(office.12).aspx</a>)</span>:</p>
<p>"<em><span style="color: black;">Attribute key: <strong>docacl</strong></span> </em></p>
<p><span style="color: black;"><em>Attribute type: cht::documentmessages::string_attribute </em></span></p>
<p><span style="color: black;"><em>Attribute value: </em></span></p>
<p><span style="color: black;"><em>The docacl attribute MUST contain a list of space separated entries in the following format: </em></span></p>
<p><span style="color: black;"><em><strong>&lt;deniedRightFlag&gt;&lt;userStoreID&gt;&lt;securityIdentifier&gt;</strong>. &lt;deniedRightFlag&gt; is "9" if the rest indicates a deny permission or "" if it is a grant permission. &lt;userStoreID&gt; is the user store identifier of the user/group given in &lt;securityIdentifier&gt;. &lt;securityIdentifier&gt; is the user/group security principal identifier that was granted or denied permission to the item. A docacl value MUST only contain alphanumeric characters. If the &lt;securityIdentifier&gt; contains other characters, the &lt;securityIdentifier&gt; MUST be encoded with a <strong>base-32 variant of [RFC4648]</strong> using an alphabet with a-z and 1-6 and no equal sign (=) padding at the end.</em>" </span></p>
<p><span style="color: black;">On any server where FAST Search is installed, we get two PowerShell cmdlets that encode and decode security principal entries according to the base32 encoding scheme mentioned above. </span></p>
<p><span style="color: #0070c0;"><strong>Get-FASTSearchSecurityEncodedSid </strong></span></p>
<p><a href="https://technet.microsoft.com/en-us/library/ff393821.aspx">https://technet.microsoft.com/en-us/library/ff393821.aspx</a><span style="color: #1f497d;"> </span></p>
<p><span style="color: #0070c0;"><strong>Get-FASTSearchSecurityDecodedSid </strong></span></p>
<p><a href="https://technet.microsoft.com/en-us/library/ff393823.aspx">https://technet.microsoft.com/en-us/library/ff393823.aspx</a><span style="color: #1f497d;"> </span></p>
<p>&nbsp;</p>
<p><span style="color: black;">Here is an encoding example: </span></p>
<p><span style="color: #0070c0;">Get-FASTSearchSecurityEncodedSid -SID S-1-5-21-255901184-1604012920-1887928677-2217443 </span></p>
<p><span style="color: black;">which results in the following encoded string: </span></p>
<p><span style="color: #0070c0;">aecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa </span></p>
<p>&nbsp;</p>
<p><span style="color: black;">Note that it probably would be easier to use the -Users option and the domain user name such as domain1\user1. </span></p>
<p><span style="color: black;"><em>*Note: All SID and encoded strings used in this writing are intentionally invalid. They are used only to illustrate expected formats. </em></span></p>
<p><span style="color: black;">In order to inject this as the Security Descriptor, you would need to add the User Store ID, and possibly the Denied flag if this is a principal that is denied access. If this an Active Directory account, the User Store ID would be 'win'. The denied flag is '9', pre-pended to the overall string. </span></p>
<p><span style="color: black;">Example of an allowed account: </span></p>
<p><span style="color: #0070c0;">winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa </span></p>
<p><span style="color: black;">Example of a disallowed account: </span></p>
<p><span style="color: #0070c0;">9winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa </span></p>
<p>&nbsp;</p>
<p><span style="color: black;">If you need to set multiple entries of disallowed and allowed entries, concatenate the encoded strings using a space separator, starting with the disallowed list: </span></p>
<p><span style="color: #0070c0; font-size: 10pt;">9winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa </span></p>
<p>&nbsp;</p>
<p>If you need to look at actual FAST encoded strings for your security principals, you run a sample collection using the BDC SQL provider and capture the strings in the generated FiXML files, search for 'docacl'.</p>
<h1>Adding the docacl as a Select Field in the JDBC Database Connector Configuration XML File</h1>
<p>Once you obtain the values from running Get-FASTSearchSecurityEncodedSid, pre-pending the User Store ID and optionally the denied flag, and concatenating multiple encoded SID's into a single string, the result is ready to be inserted into the FAST index along with the rest of the document content. We achieve this by adding a new field named <em>docacl</em> to the SQL Select statement in the JBDC Database Connector configuration file.</p>
<p>In the following example, I need to set the same value of the Security Descriptor to all of the documents in a particular content source. In the JDBC Database Connector configuration XML file, I modified the SQL statement to add the <em>docacl</em> field as follows:</p>
<p><span style="color: #c00000;">&hellip; </span></p>
<p><span style="color: #c00000;">&lt;parameter name="JDBCSQL" type="string"&gt; -&lt;description&gt; </span></p>
<p><span style="color: #c00000;">&lt;![CDATA[This or JDBCSQLFile must be provided. SQL query to crawl against. Note, any valid SQL is valid here. &lt;br&gt;Use %TIMESTAMP% where last crawl time gets inserted as a datetime value. &lt;br&gt;Use %TIMESTAMPSEC% where last crawl time gets inserted as number of seconds since epoch &lt;br&gt; Examples: &lt;br&gt; Oracle: SELECT * FROM tableName WHERE dateField &gt; TO_TIMESTAMP('%TIMESTAMP%','yyyy-MM-DD"T"hh24:mi:ss')&amp;nbsp; &lt;br&gt;Note that the time stamp format used must be as indicated here. &lt;br&gt;MS SQL Server: SELECT * from tableName WHERE dateField &gt; convert(datetime,'%TIMESTAMP%',126)&lt;br&gt;select * from employees &lt;br&gt;Default: (none)]]&gt; </span></p>
<p><span style="color: #c00000;"> &lt;/description&gt; -&lt;value&gt; </span></p>
<p><span style="color: #c00000;">&lt;![CDATA[SELECT [field1],[field2] ,&hellip;,[field<em>n</em>], <span style="color: #0070c0;">'9winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa winaecqaaabgsakfiaaaakazoppz3exg16345io23kqyaa' AS [docacl]<span style="color: #c00000;"> FROM [server1].[sch1].[table1]]]&gt; </span></span></span></p>
<p><span style="color: #c00000;"> &lt;/value&gt; </span></p>
<p><span style="color: #c00000;">&hellip; </span></p>
<p>where the value in quotes '<span style="color: #0070c0;">9winaecqaa &hellip; winaecqaaa&hellip;</span>' was generated by running the FAST <span style="color: black;">cmdlet</span> and concatenating the output as described earlier.</p>
<p>If you need to set a different value for each document, you would have to set the Security Descriptor encoded value in the source database table.</p>
<p>&nbsp;</p>
<p>This is a complete implementation of a JDBC Database Connector based item-level security.</p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 3a: PowerShell: Crawling an External Web Site with the SharePoint 2010 Web Crawler</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-3a-powershell-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler</link>
      <pubDate>Tue, 06 Mar 2012 07:49:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/03/06/poc-part-3a-powershell-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler/</guid>
      <description><![CDATA[And now&nbsp;is time to speak of many things...but we won't. Instead we will create, configure and...]]></description>
      <content:encoded><![CDATA[<p>And now&nbsp;is time to speak of many things...but we won't. Instead we will create, configure and run the SharePoint 2010 default web crawler from <strong>PowerShell</strong>.</p>
<p>Remember to open up a <strong>PowerShell</strong> window from the <strong>Start</strong> menu:</p>
<p>Start --&gt; Fast Search Server 2010 for SharePoint (right click --&gt; <strong>Run as Administrator</strong>)</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<ol>
<li>
<div>Add the <strong>SharePoint PowerShell</strong> cmdlets</div>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue </span></p>
</li>
<li>
<div>Create and configure the <strong>Content Source (enter a URL that doesn't mind you crawling it. Perhaps your blog page?)</strong></div>
<p><span style="font-family: Courier New;">$contentSSA = "FASTContent"</span></p>
<p><span style="font-family: Courier New;">$startaddress = <em>[enter a URL here]</em></span></p>
<p><span style="font-family: Courier New;">$contentsourcename = "Web site crawl"</span></p>
<p><span style="font-family: Courier New;">$contentsource = <a href="https://technet.microsoft.com/en-us/library/ff607867.aspx">New-SPEnterpriseSearchCrawlContentSource</a> -SearchApplication $contentSSA -Type Web -name $contentsourcename -StartAddresses $startaddress -MaxSiteEnumerationDepth 0 </span></p>
</li>
<li>
<div>Start the crawl</div>
<p><span style="font-family: Courier New;">$contentsource.StartFullCrawl() </span></p>
<p><span style="font-family: Courier New;">$contentsource.CrawlStatus </span></p>
<ol>
<li>Execute <span style="font-family: Courier New;">$contentsource.CrawlStatus</span> again.</li>
<li>Wait. Wait. Wait. Wait.</li>
<li>Execute <span style="font-family: Courier New;">$contentsource.CrawlStatus</span> again.</li>
<li>Wait. Wait. Wait. Wait.</li>
<li>Keep executing <span style="font-family: Courier New;">$contentsource.CrawlStatus </span>until the status changes to <strong>CrawlCompleting</strong> and then <strong>Idle</strong></li>
</ol></li>
<li>Execute a search</li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<p>Again, there really isn't any reason to go over all the steps as they don't really change from step to step. I do want to clarify a few things.</p>
<ul>
<li>As we installed the advanced filter pack in a previous post we don't need to do that again.<span style="font-family: Times New Roman; font-size: 12pt;"> </span></li>
<li>
<div>In the line of PS that creates the content source</div>
<p><span style="font-family: Courier New;">$contentsource = <a href="https://technet.microsoft.com/en-us/library/ff607867.aspx">New-SPEnterpriseSearchCrawlContentSource</a> -SearchApplication $contentSSA -Type Web -name $contentsourcename -StartAddresses $startaddress -MaxSiteEnumerationDepth 0 </span></p>
<p>It is interesting to note that the <strong><span style="font-family: Courier New;">New-SPEnterpriseSearchCrawlContentSource</span></strong> cmdlet defaults to the <strong>Custom</strong> crawl rule which will read all pages and all links found at the starting URL. In order to mimic the behavior of the previous blog post (and avoiding crawling the world) we set <strong><span style="font-family: Courier New;">MaxSiteEnumerationDepth</span></strong> to <strong>zero</strong> which causes the crawler to read the content at the site we started at rather than allowing the crawler to go into ADD mode becoming easily distracted and chasing down every car that goes by.<span style="font-family: Times New Roman;"> </span></p>
</li>
</ul>
<p><span style="color: #366092; font-size: 13pt;"><strong>Thanks</strong> </span></p>
<p>Much thanks to <strong>Runar Olsen</strong> and <strong><a href="https://blogs.technet.com/b/bitsandpieces/">Ben Berenstein</a></strong> for letting me bounce ideas off of them (you can both take your helmets off now).</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>References</strong> </span></p>
<p><a href="https://social.technet.microsoft.com/wiki/contents/articles/204.sharepoint-server-2010-search-windows-powershell-cmdlets-en-us.aspx">SharePoint Server 2010 Search: Windows PowerShell Cmdlets</a></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 3: Crawling an External Web Site with the SharePoint 2010 Web Crawler</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-3-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler</link>
      <pubDate>Tue, 06 Mar 2012 07:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/03/06/poc-part-3-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler/</guid>
      <description><![CDATA[In the interest of brevity (and lack of time) I am just going to cover what we need to do to crawl a...]]></description>
      <content:encoded><![CDATA[<p>In the interest of brevity (and lack of time) I am just going to cover what we need to do to crawl a web site for inclusion in the search engine. The configuration we will use will cause the crawler to <strong>only read the content found on the explicitly selected site</strong>. That means if you tell the crawler to crawl <a href="https://www.some-domain.com">https://www.some-domain.com</a> and the home page to that site has a link to another site the links to the other site will be ignored by the SharePoint 2010 web crawler.</p>
<p>Crawl before you walk. Walk before you run. Run so you don't get eaten by a lion.</p>
<p>Let's get to it.</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>What we are doing this time</strong> </span></p>
<ol>
<li>Create a new content source: a crawl of an arbitrary external web site</li>
<li>Run the crawl</li>
<li>Check the results</li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<ol>
<li>
<div>Create a new content source: a crawl of an arbitrary external web site</div>
<ol>
<li>
<div>Start --&gt; SharePoint 2010 Central Administration --&gt; Manage Service Applications --&gt; FASTContent --&gt; Crawling --&gt; Content Sources --&gt; New Content Source</div>
<ol>
<li><strong>Name:</strong> Web site crawl</li>
<li><strong>Content Source Type:</strong> Web sites</li>
<li><strong>Start Addresses:</strong> [your favorite web site. Just one for now. Preferably not a commercial site. How about your favorite blogger? Preferably something small]</li>
<li><strong>Crawl Settings:</strong> Only crawl within the server of each start address</li>
<li><strong>Crawl Schedule:</strong> None</li>
<li><strong>Start Full Crawl:</strong> [check] Start full crawl of this content source</li>
</ol></li>
</ol></li>
<li>
<div>Run the crawl</div>
<ol>
<li>Click <strong>OK</strong></li>
<li>Wait</li>
<li>Refresh</li>
<li>
<div>Repeat <strong>b</strong> and <strong>c</strong> until the status of the crawl is <strong>Idle</strong><strong></strong></div>
</li>
</ol></li>
<li>
<div>Check the results</div>
<ol>
<li>Go to <a href="https://intranet.contoso.com/fast-search">https://intranet.contoso.com/fast-search</a></li>
<li>Search for <strong>#</strong></li>
<li>Take a look at the <strong>Site</strong> refiner. You should see one additional site: the site you crawled.</li>
</ol></li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<p>There really isn't a <strong><em>Long Version</em></strong>. The basic configuration of the web crawler is straightforward and pretty much covers it. If you need different behavior then please add complexity incrementally so that you can confirm the behavior you are looking for. Perhaps we will cover <strong>crawl rules</strong> in a future post.</p>
<p>In my case I crawled a WordPress site that added an alleged <strong>948</strong> pages to the index. That, of course, is a lie. There are a lot of duplicate documents as the crawler crawls the originating page and well as any links on that page; that means tag links, RSS feed information and as well as links associated with pages. A link is a link is a link even if the content it points to had been crawled before.</p>
<p style="margin-left: 27pt;"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3276.030612_1510_POCPart3C1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3276.030612_5F00_1510_5F00_POCPart3C1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Notice that many of the documents have duplicates.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/0647.030612_1510_POCPart3C2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/0647.030612_5F00_1510_5F00_POCPart3C2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Also take a look at the Company refiner.</p>
<p style="margin-left: 27pt;"><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/7802.030612_1510_POCPart3C3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/7802.030612_5F00_1510_5F00_POCPart3C3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Those companies were not there before. The <strong>Company</strong> entity extractor works automatically and has done its job in this case (sometimes too well as names like <strong>Galactica</strong> and <strong>JSP</strong> are listed as companies when they are not).</p>
<p>Are there wrinkles to this? Absolutely! But remember: the point of this series is to get you up and running as quickly as possible. Once something simple works add complexity slowly (and that's two adverbs worth of advice).</p>
<p>How do we do this with PowerShell? Read <a href="https://blogs.msdn.com/b/dark_corners/archive/2012/03/06/poc-part-3a-powershell-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler.aspx">Part 3a</a>.</p>
<p>Next: <strong>Crawling SharePoint 2010 using the SharePoint 2010 Connector</strong></p>
<p><span style="color: #366092; font-size: 13pt;"><strong>References</strong></span></p>
<p><a href="https://technet.microsoft.com/en-us/library/ff381260.aspx">Add, edit or delete a content source (FAST Search Server 2010 for SharePoint)</a></p>
<p><strong></strong>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>March: Enterprise Search User Group</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/march-enterprise-search-user-group</link>
      <pubDate>Wed, 22 Feb 2012 07:29:42 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/02/22/march-enterprise-search-user-group/</guid>
      <description><![CDATA[Just a friendly reminder: it is almost that time of the month again! Time to talk about search!
Get...]]></description>
      <content:encoded><![CDATA[<p>Just a friendly reminder: it is almost that time of the month again! Time to talk about search!</p>
<p>Get the details and register <a href="https://www.meetup.com/EnterpriseSearch/events/52151742/">here</a>.</p>
<p><strong><span style="color: #1f497d;">Adding *Your* Business Value With FAST <br />Search for SharePoint Pipeline Extensibility</span></strong></p>
<p><span style="color: #000000;"><span style="font-size: small;">It&rsquo;s well known <br />that SharePoint provides a powerful set of APIs for integrating custom code into your business&rsquo;s SharePoint applications .&nbsp; But FAST Search For SharePoint (FS4SP) provides a new capability &ndash; a window into your data between the crawl and the index.&nbsp; Getting programmatic access to your data at that point opens up a world of possibilities. </span></span></p>
<p><span style="color: #000000;"><span style="font-size: small;">This session will provide an overview of what this extensibility looks like, recommendations on how to implement it effectively, and a discussion of what you can do with it to add your specific business value to your search applications.</span></span></p>
<p><span style="color: #1f497d;"><span style="font-size: small;"><span style="color: #1b2615;"><span style="font-size: x-small;"><span style="font-size: small;"><strong><span style="color: #800000;">Speaker Information<br /></span></strong><span><span><strong><span><span>Steve Kuenzli,</span></span></strong></span></span> is an Architect at Microsoft, specializing in Search.&nbsp; His work in Enterprise Search dates back over the ten years in both the public and private sectors.</span></span></span></span></span></p>
<p><span style="color: #1f497d;"><span style="font-size: small;"><span style="color: #1b2615;"><span style="font-size: x-small;"><span style="font-size: small;">The meeting will be held in the Microsoft offices at 1290 Avenue of the Americas. Register early!</span></span></span></span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 2b: PowerShell: Configuring the connector/Indexing Content</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-2b-powershell-configuring-the-connectorindexing-content</link>
      <pubDate>Sun, 29 Jan 2012 19:26:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/29/poc-part-2b-powershell-configuring-the-connectorindexing-content/</guid>
      <description><![CDATA[The POC - Part 2 post was quite underwhelming. The VHD has all the software installed for us and...]]></description>
      <content:encoded><![CDATA[<p>The <a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/26/poc-part-2-search-configuring-the-connector-indexing-content.aspx">POC - Part 2</a> post was quite underwhelming. The VHD has all the software installed for us and <span style="text-decoration: line-through;">stealing</span> using content off the web was easy enough (well, maybe not that easy. I ended up writing a program to download files for me as I got tired of right-clicking and selecting <strong>Save Target As&hellip;</strong>). As you noticed if you walked the process with the rest of us setting up a basic file crawl is pretty straightforward .</p>
<p>I hear you ask: but how would I do that in PowerShell? What if my GUI stops working and I just have to get my Fast Search Center created, and content source created and configured?</p>
<p>I am so glad you asked. Leo Souza wasn't that happy as I asked him and he basically gave me the information I am about to transcribe. Aren't I lucky to have such a good friend?</p>
<p>What we did in Part 2 breaks down into 3 parts:</p>
<ol>
<li>Install the Advanced Filter Pack. Since we did that in PowerShell we have already crossed that line.</li>
<li>Add the <strong>SharePoint PowerShell</strong> cmdlets</li>
<li>Create the <strong>Fast Search Center</strong></li>
<li>Create and configure a <strong>Content Source</strong></li>
<li>Start the crawl</li>
<li>Execute a search</li>
</ol>
<p>Remember to open up a <strong>PowerShell</strong> window from the <strong>Start</strong> menu:</p>
<p>Start --&gt; Fast Search Server 2010 for SharePoint (right click --&gt; <strong>Run as Administrator</strong>)</p>
<p>Now let's do each of the above steps in turn.</p>
<ol>
<li>
<div>Install the <strong>Advanced Filter Pack</strong></div>
<ol>
<li>From the <strong>PowerShell</strong> window:</li>
</ol>
<p><span style="font-family: Courier New;">&gt; cd ..\installer\scripts </span></p>
<p><span style="font-family: Courier New;">&gt; .\AdvancedFilterPack.ps1 -enable </span></p>
<p><em>[answer <strong>y</strong> to the only question it asks]</em></p>
<p>There is no need to restart the machine or any of the services.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/7266.013012_0326_POCPart2b1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/7266.013012_5F00_0326_5F00_POCPart2b1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Add the <strong>SharePoint PowerShell</strong> cmdlets</div>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue </span></p>
</li>
<li>
<div>Create the <strong>Fast Search Center</strong></div>
<p><span style="font-family: Courier New;">$template = Get-SPWebTemplate "SRCHCENTERFAST#0" # Want to know more? Go to <a href="https://technet.microsoft.com/en-us/library/ff678213.aspx">https://technet.microsoft.com/en-us/library/ff678213.aspx</a></span></p>
<p><a href="https://technet.microsoft.com/en-us/library/ff607579.aspx"><span style="font-family: Courier New;">New-SPWeb</span></a><span style="font-family: Courier New;"> -Url "https://intranet.contoso.com/fast-search" -Name "TechNet VM Fast Search Page"<strong> </strong>-Template $template </span></p>
</li>
<li>
<div>Create and configure a Content Source</div>
<p><span style="font-family: Courier New;">$contentSSA = "FASTContent" </span></p>
<p><span style="font-family: Courier New;">$startaddress = "<a href="file:///\\VBOXSVR\neurobiology-files"></a></span>\\VBOXSVR\neurobiology-files<span style="font-family: Courier New;">"</span><span style="font-family: Times New Roman;"> </span></p>
<p><span style="font-family: Courier New;">$contentsourcename = "File system crawl" </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">$contentsource = <a href="https://technet.microsoft.com/en-us/library/ff607867.aspx">New-SPEnterpriseSearchCrawlContentSource</a> -SearchApplication $contentSSA -Type file -name $contentsourcename -StartAddresses $startaddress </span></p>
</li>
<li>
<div>Start the crawl</div>
<p><span style="font-family: Courier New;">$contentsource.StartFullCrawl() </span></p>
<p><span style="font-family: Courier New;">$contentsource.CrawlStatus </span></p>
<ol>
<li>Execute <span style="font-family: Courier New;">$contentsource.CrawlStatus</span> again.</li>
<li>Wait. Wait. Wait. Wait.</li>
<li>Execute <span style="font-family: Courier New;">$contentsource.CrawlStatus</span> again.</li>
<li>Wait. Wait. Wait. Wait.</li>
<li>Keep executing <span style="font-family: Courier New;">$contentsource.CrawlStatus </span>until the status changes to <strong>CrawlCompleting</strong> and then <strong>Idle</strong></li>
</ol></li>
<li>
<div>Execute a search</div>
<p><span style="font-family: Courier New;"><span style="color: black;">$searchSite = Get-SPWeb https://intranet.contoso.com/fast-search</span> </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$keywordQuery = <a href="https://technet.microsoft.com/en-us/library/dd315334.aspx">New-Object</a> <a href="https://technet.microsoft.com/en-us/query/ms497543">Microsoft.Office.Server.Search.Query.KeywordQuery</a> $searchSite</span> </span></p>
<p><span style="color: black; font-family: Courier New;">$keywordQuery.ResultTypes = [Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults </span></p>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Courier New;">$keywordQuery.EnableFQL = 1 </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$keywordQuery.RowLimit = 10</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;"><span style="background-color: #f4f4f4;">$keywordQuery.QueryText = "#"</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;"><span style="background-color: #f4f4f4;">$results = $keywordQuery.Execute()</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">Write-Host Total hits: $results[1].TotalRows</span> </span></p>
<p><span style="color: black; font-family: Courier New;">$resultsTable = $results.Item([Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults) </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$resultsDataTable = $resultsTable.Table</span> </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$resultsDataTable | Format-Table -AutoSize -Property title, url</span> </span></p>
</li>
</ol>
<p>&nbsp;</p>
<p>So by rights you should create two versions of the script:</p>
<ol>
<li>One that executes the code generically with things like the Fast Search Center URL, file location and content source name as incoming arguments</li>
<li>A script that calls the generic script from step 1 with the proper values for the URL, file location and content source name.</li>
</ol>
<p>The separation gives you the flexibility to use the first script in lots of situations and the second one to execute a particular task without all typing. Get to it!</p>
<p>If something doesn't work please let me know. You'd be surprised where I am at any given time writing this blog (and this time I am at TechReady14 sitting in a Starbucks making sure this goes out in one piece.).</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>References and Thanks</strong> </span></p>
<p><a href="https://social.technet.microsoft.com/wiki/contents/articles/create-a-new-fast-search-center-site-160-collection-using-powershell.aspx">Create a new FAST Search Center Site Collection using PowerShell</a> by Brent Groom (thanks, Brent!)</p>
<p><a href="https://sathishtk.com/blog/post/2010/11/20/FAST-Search-for-SharePoint-2010e28093Using-PowerShell-to-execute-search.aspx">FAST Search for SharePoint 2010&ndash;Using PowerShell to execute search</a> by Satish TK (Thanks, Satish!)</p>
<p><a href="https://msdn.microsoft.com/en-us/library/hh285837.aspx">Testing Custom Query Features (FAST Search Server 2010 for SharePoint)</a> (oh, author of unknown origin: thanks!)</p>
<p><a href="https://technet.microsoft.com/en-us/library/ff678213.aspx">Scripted deployment reference (SharePoint Foundation 2010)</a>&nbsp;</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>The code</strong> </span></p>
<p><em>[Not sure how to run these scripts? Check out <a href="https://technet.microsoft.com/en-us/library/ee176949.aspx"><span style="color: black;"><strong>Running Windows PowerShell Scripts</strong></span></a><span style="color: black;"><strong> </strong>at<strong> TechNet</strong>. You want to make them more useful? Slice and dice them even more. I won't be doing that...]</span></em></p>
<p><strong>CreateContosoFastSearchCenter.ps1</strong></p>
<p><span style="font-family: Courier New;">CreateAFastSearchCenter.ps1 "https://intranet.contoso.com/fast-search" "TechNet VM Fast Search Page" "CONTOSO\Administrator" </span></p>
<p><strong>CreateAFastSearchCenter.ps1</strong></p>
<p><span style="font-family: Courier New;"># CreateAFastSearchCenter.ps1 &lt;Site URL&gt; &lt;Page Title&gt; </span></p>
<p><span style="color: black; font-family: Courier New;">function usage($cmd) {<br />&nbsp;&nbsp; write-host ""<br />&nbsp;&nbsp; write-host "Create a FAST Search Center"<br />&nbsp;&nbsp; write-host "Create a FAST Search Center using the incoming URL and name"<br />&nbsp;&nbsp; write-host ""<br />&nbsp;&nbsp; write-host "usage: $cmd &lt;Site URL&gt; &lt;Page Title&gt; &lt;Owner Alias&gt;"<br />&nbsp;&nbsp; write-host " &lt;Site URL&gt; - Specifies the new FULL URL for the site (for example, https://intranet.contoso.com/fast-search)" </span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp; write-host " &lt;Page Title&gt; - The title to give this search center" </span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp; write-host " &lt;Owner Alias&gt; - DOMAIN\alias of the site owner" </span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp; exit<br />} </span></p>
<p><span style="color: black; font-family: Courier New;"># argument checks<br />switch ($args.count) {<br />&nbsp;&nbsp; 3 { $siteurl = $args[0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pageTitle = $args[1] }</span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp; d</span><span style="color: black; font-family: Courier New;">efault { usage $myinvocation.mycommand.definition }<br />} </span></p>
<p>&nbsp;</p>
<p><span style="color: black; font-family: Courier New;"># Put this here or execute it before you run the script </span></p>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue </span></p>
<p>&nbsp;&nbsp;</p>
<p><span style="font-family: Courier New;">$template = Get-SPWebTemplate "SRCHCENTERFAST#0" </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">write-host "Creating the Fast Search Center at" $siteurl </span></p>
<p><span style="font-family: Courier New;">New-SPWeb -Url $siteurl -Name $pageTitle<strong> </strong>-Template $template </span></p>
<p><span style="font-family: Courier New;">write-host "Finished!" </span></p>
<p>&nbsp; &nbsp;</p>
<p><strong>ConfigureContosoFileFASTContentSourceAndStartAFullCrawl.ps1</strong></p>
<p><span style="font-family: Courier New;">ConfigureAFileFASTContentSourceAndStartAFullCrawl.ps1 "File system crawl" "<a href="file:///\\VBOXSVR\neurobiology-files"></a></span>\\VBOXSVR\neurobiology-files<span style="font-family: Courier New;">"</span><span style="font-family: Times New Roman;"> </span></p>
<p>&nbsp; &nbsp;</p>
<p><strong>ConfigureAFileFASTContentSourceAndStartAFullCrawl.ps1</strong></p>
<p><span style="font-family: Courier New;"># ConfigureAFileFASTContentSourceAndStartAFullCrawl.ps1 &lt;ContentSourceName&gt; &lt;FileSystemStartAddress&gt; </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">function usage($cmd) { </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host "" </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host "Configure A File System Content Source And Start A Full Crawl" </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host "" </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host "usage: $cmd &lt;ContentSourceName&gt; &lt;FileSystemStartAddress&gt;" </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host " &lt;ContentSourceName&gt; - Name to give this content source" </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host " &lt;FileSystemStartAddress&gt; - Starting point for the file system crawl" </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; exit </span></p>
<p><span style="font-family: Courier New;">} </span></p>
<p><span style="font-family: Courier New;"># argument checks </span></p>
<p><span style="font-family: Courier New;">switch ($args.count) { </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; 2 { $contentSourceName = $args[0] </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $startAddress = $args[1] } </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp;&nbsp;default { usage $myinvocation.mycommand.definition } </span></p>
<p><span style="font-family: Courier New;">} </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;"># Put this here or execute it before you run the script </span></p>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">$contentSource = <a href="https://technet.microsoft.com/en-us/library/ff607867.aspx">New-SPEnterpriseSearchCrawlContentSource</a> -SearchApplication "FASTContent" -Type file -name $contentSourceName -StartAddresses $startAddress </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">$contentsource.StartFullCrawl() </span></p>
<p><span style="font-family: Courier New;">$contentsource.CrawlStatus</span></p>
<p></p>
<p><span style="font-family: Courier New;">$sleepTime = 30 </span></p>
<p><span style="font-family: Courier New;">while ($true)</span></p>
<p><span style="font-family: Courier New;">{ </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; Write-Host "Current status: " $contentsource.CrawlStatus </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; if ($contentsource.CrawlStatus -eq "Idle") </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; { </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp; break </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; } </span></p>
<p>&nbsp;</p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; write-host "Will check status again in" $sleepTime "seconds..." </span></p>
<p><span style="font-family: Courier New;">&nbsp;&nbsp; Start-Sleep -seconds $sleepTime </span></p>
<p><span style="font-family: Courier New;">} </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;">write-host "Finished!" </span></p>
<p>&nbsp; &nbsp;</p>
<p><strong>ExecuteContosoSimpleFQLQuery.ps1</strong></p>
<p><span style="font-family: Courier New;"><span style="color: black;">ExecuteASimpleFQLQuery.ps1 "https://intranet.contoso.com/fast-search" $args[0]</span> </span></p>
<p><span style="color: black;"><em>[To execute the <strong>"# AND isDocument=true"</strong> query use <strong>"# and isDocument:true"</strong> as the script assumes the use of <strong>FQL</strong> not the SharePoint default of <strong>KQL</strong>.]</em> </span></p>
<p>&nbsp; &nbsp;</p>
<p><strong>ExecuteASimpleFQLQuery.ps1</strong></p>
<p><span style="color: black; font-family: Courier New;"># ExecuteASimpleFQLQuery.ps1 &lt;URL&gt; &lt;Query&gt; </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;"><span style="color: black;">function usage($cmd) {<br />&nbsp;&nbsp; write-host ""<br />&nbsp;&nbsp; write-host "Execute a simple FQL keyword query"<br />&nbsp;&nbsp; write-host ""<br />&nbsp;&nbsp; write-host "usage: $cmd &lt;URL&gt; &lt;Query&gt;"<br />&nbsp;&nbsp; write-host " &lt;URL&gt; - URL to the Fast Search Center"</span> </span></p>
<p><span style="font-family: Courier New;"><span style="color: black;">&nbsp;&nbsp; write-host " &lt;Query&gt; - Simple FQL to execute"</span> </span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp; exit<br />} </span></p>
<p><span style="color: black; font-family: Courier New;"># argument checks<br />switch ($args.count) {<br />&nbsp;&nbsp; 2 { $url = $args[0] </span></p>
<p><span style="color: black; font-family: Courier New;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query = $args[1] }<br />&nbsp;&nbsp;&nbsp;default { usage $myinvocation.mycommand.definition }<br />} </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"># Put this here or execute it before you run the script </span></p>
<p><span style="font-family: Courier New;">Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue</span></p>
<p><span style="color: black; font-family: Courier New;"># argument checks </span></p>
<p><span style="color: black; font-family: Courier New;">$searchSite = Get-SPWeb $url </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$keywordQuery = New-Object <a href="https://technet.microsoft.com/en-us/query/ms497543">Microsoft.Office.Server.Search.Query.KeywordQuery</a> $searchSite</span> </span></p>
<p><span style="color: black; font-family: Courier New;">$keywordQuery.ResultTypes = [Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;">$keywordQuery.EnableFQL = 1 </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$keywordQuery.RowLimit = 10</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="font-family: Courier New;"><span style="color: black; background-color: #f4f4f4;">$keywordQuery.QueryText = $query</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$results = $keywordQuery.Execute()</span> </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">Write-Host Total hits: $results[1].TotalRows</span> </span></p>
<p><span style="color: black; font-family: Courier New;">$resultsTable = $results.Item([Microsoft.Office.Server.Search.Query.ResultType]::RelevantResults) </span></p>
<p>&nbsp; &nbsp;</p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$resultsDataTable = $resultsTable.Table</span> </span></p>
<p><span style="color: black; font-family: Courier New;"><span style="background-color: #f4f4f4;">$resultsDataTable | Format-Table -AutoSize -Property title, url</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 2a: Ignoring Indexed Folders</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-2a-ignoring-indexed-folders</link>
      <pubDate>Thu, 26 Jan 2012 08:22:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/26/poc-part-2a-ignoring-indexed-folders/</guid>
      <description><![CDATA[In Part 2 of this series we crawled a file system and indexed that content. In doing so we also...]]></description>
      <content:encoded><![CDATA[<p>In <strong>Part 2</strong> of this series we crawled a file system and indexed that content. In doing so we also discovered that the SharePoint crawler also submits the folders of the file system to the index and Fast gladly add them. This submission of folders means that the search results can appear crowded since folders don't covey much in a standard search result.</p>
<p>There are a number of ways to make the folders disappear.</p>
<p>In a standard search result using my sample corpus:</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/8308.012612_1622_POCPart2a1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/8308.012612_5F00_1622_5F00_POCPart2a1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>I specifically clicked on Site --&gt; <a href="file:///\\vboxsvr">\\vboxsvr</a> to narrow the results to just my content and the first 55 results are folders. Bleech.</p>
<p>There are a number of ways to fix this:</p>
<ol>
<li>Write a query to <strong>tell the system to ignore folders</strong></li>
<li>Configure the Search Core Results web part to <strong>tells the system to ignore folders</strong></li>
<li>Write a custom web part to submit a query to <strong>tell the system to ignore folders</strong></li>
</ol>
<p>I sense a pattern. No matter how you try to do this it will always end with sending a query to Fast <strong>telling the system to ignore the folders</strong>. Freaky.</p>
<p>Let's fix the obnoxious folder behavior.</p>
<ol>
<li>
<div>The first way is rather primitive and does not sit well with the average user of search. It involves understanding query syntax and Boolean logic and perhaps even advanced arithmetic. We have already used this in the last post.</div>
<p>In order to have the search results return only documents you add <strong>isDocument=true</strong>. The word <strong>AND</strong> is capitalized so the query uses it as an operator and not as part of the keyword.</p>
</li>
</ol>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/7331.012612_1622_POCPart2a2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/7331.012612_5F00_1622_5F00_POCPart2a2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<ol>
<li>
<div>The second way involves editing the <strong>Search Core Results</strong> web part.</div>
<ol>
<li>In the Fast Search Center select <strong>Site Actions --&gt; Edit Page</strong>.</li>
<li>
<div>Scroll down to the Search Core Results web part and select <strong>Edit Web Part</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/0804.012612_1622_POCPart2a3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/0804.012612_5F00_1622_5F00_POCPart2a3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Scroll back to the <strong>top</strong> and <strong>upper right hand corner</strong> of the page to find the configuration for this web part.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/1057.012612_1622_POCPart2a4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/1057.012612_5F00_1622_5F00_POCPart2a4.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Open <strong>Results Query Options</strong> and enter in the <strong>Append Text To Query</strong> field: <strong>isDocument=true</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/8802.012612_1622_POCPart2a5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/8802.012612_5F00_1622_5F00_POCPart2a5.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>Click <strong>OK</strong>.</li>
<li>Click <strong>Save and Close </strong>on the page.</li>
<li>Rerun the query and see just documents returned! Good times!</li>
</ol></li>
<li>Write a custom web part: not happening here. Maybe in another post.</li>
</ol>
<p><em>Thanks for <strong>Leo Souza</strong> for doing the legwork on this one.</em></p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6648.012612_1622_POCPart2a6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6648.012612_5F00_1622_5F00_POCPart2a6.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>&nbsp; &nbsp;</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/0804.012612_1622_POCPart2a7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/0804.012612_5F00_1622_5F00_POCPart2a7.png" /></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 2: Search - Configuring the connector/Indexing Content</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-2-search-configuring-the-connectorindexing-content</link>
      <pubDate>Thu, 26 Jan 2012 08:19:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/26/poc-part-2-search-configuring-the-connectorindexing-content/</guid>
      <description><![CDATA[Hard to believe it has taken us 4 parts to get to the point where we could finally index some...]]></description>
      <content:encoded><![CDATA[<p style="margin-left: 2pt;">Hard to believe it has taken us <strong>4</strong> parts to get to the point where we could finally index some content, but Rome wasn't built in a day (or for that matter neither was an OS installation). Besides, 1 part was planning and&nbsp;3 were VM set-up. We are fine.</p>
<p style="margin-left: 2pt;">The Reader's Digest version of the process is as follows:</p>
<ul>
<li><strong>Configure a connector</strong> to read your content repository</li>
<li><strong>Index</strong> a sample of your content</li>
<li><strong>Create</strong> a Fast Search Center</li>
<li><strong>Execute a query</strong></li>
</ul>
<p>Is it really that simple in real life? <strong>From a mechanical perspective: yes</strong>. From a business solution perspective: <strong>probably not</strong>. Questions someone needs to ask are things like:</p>
<ul>
<li>What problem are you trying to solve? <span style="font-family: Times New Roman; font-size: 12pt;"> </span></li>
<li>Which refiners (metadata categories) would make searching easier for your users?</li>
<li>Have you indexed the correct corpus of content?</li>
<li>Is a plain vanilla result page sufficient for your users or is a search-driven application appropriate?</li>
</ul>
<p>These are questions equivalent to discovering the <strong>Meaning of Life</strong> so I will leave them for another day (or never, whichever comes first).</p>
<p style="margin-left: 2pt;">Once our content is indexed we will search it using a new search page. We will create a new <strong>Fast Search Center</strong> once everything is crawled and searchable.</p>
<p style="margin-left: 2pt;"><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<ul>
<li><a href="https://technet.microsoft.com/en-us/library/ff383314.aspx">Install the <strong>Advanced Filter Pack</strong></a></li>
<li><a href="https://technet.microsoft.com/en-us/library/ff381248.aspx">Create a new <strong>Fast Search Center</strong></a></li>
<li>Open the <strong>Central Administration</strong> page.</li>
<li><a href="https://technet.microsoft.com/en-us/library/ff381261.aspx">Open the <strong>Content Sources</strong> page, configure and run a new crawler on your content</a></li>
<li>Execute a search in the <strong>Fast Search Center</strong> with<strong> </strong>keyword<strong> #</strong></li>
<li>Copy any other files you have into the folder holding the documents to be indexed (in this case, <strong>neurobiology-files</strong>).</li>
<li>Return to the browser with the <strong>Central Administration</strong> page and hover your cursor over the <strong>File System Crawl</strong> label. An <strong>arrow</strong> will appear next to it.</li>
<li>Click the arrow to open the popup menu. Click <strong>Start Full Crawl</strong>.</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>When the <strong>Status</strong> turns to <strong>Idle</strong> return to the <strong>Fast Search Center</strong> page and rerun the query with <strong>#</strong> (hash).</li>
<li>Click on the <a href="https://technet.microsoft.com/en-us/library/gg193929.aspx">refiner</a> <strong>Site --&gt; vboxsvr</strong>. The total results will be the total number of documents, the root folder and any sub-folders. My total for <strong>80</strong> documents, <strong>1</strong> root folder, and <strong>149</strong> sub-folders is <strong>230</strong> (if the number haven't changed give SharePoint more time; it will catch up).</li>
</ul>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<ul>
<li>
<div><a href="https://technet.microsoft.com/en-us/library/ff383314.aspx">Install the <strong>Advanced Filter Pack</strong></a></div>
<ul>
<li>Start --&gt; Fast Search Server 2010 for SharePoint (right click --&gt; <strong>Run as Administrator</strong>)</li>
<li>
<div>From the <strong>PowerShell</strong> window:</div>
<p><span style="font-family: Courier New;">&gt; cd ..\installer\scripts </span></p>
<p><span style="font-family: Courier New;">&gt; .\AdvancedFilterPack.ps1 -enable </span></p>
<p><em>[answer <strong>y</strong> to the only question it asks]</em></p>
<p>There is no need to restart the machine or any of the services.</p>
</li>
</ul>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/0576.012612_1619_POCPart2S1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/0576.012612_5F00_1619_5F00_POCPart2S1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div><a href="https://technet.microsoft.com/en-us/library/ff381248.aspx">Create a new <strong>Fast Search Center</strong></a></div>
<ul>
<li>Open <strong>IE</strong></li>
<li>
<div>Site Actions --&gt; New Site --&gt; Search --&gt; FAST Search Center</div>
<ul>
<li>Title: <strong>TechNet VM Fast Search Page</strong></li>
<li>URL: <strong>fast-search</strong></li>
</ul>
</li>
<li>Click<strong> Create</strong></li>
<li>When the <strong>Fast Search Center</strong> page opens enter a keyword of <strong>#</strong> (hash, or sharp if you're a music major). If you have not ben experimenting with the VM a result total of <strong>95</strong> documents should be returned.<strong> </strong></li>
</ul>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/8686.012612_1619_POCPart2S2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/8686.012612_5F00_1619_5F00_POCPart2S2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Open the <strong>Central Administration</strong> page.</div>
<ul>
<li>
<div>Start --&gt; SharePoint 2010 Central Administration</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/5531.012612_1619_POCPart2S3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/5531.012612_5F00_1619_5F00_POCPart2S3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>Click on <strong>SharePoint 2010 Central Administration</strong>. This will open the main admin page in another IE window.</li>
</ul>
</li>
<li>
<div><a href="https://technet.microsoft.com/en-us/library/ff381261.aspx">Open the <strong>Content Sources</strong> page, configure and run a new crawler on your content</a></div>
<ul>
<li>
<div>General Application Settings (the list to the left) --&gt; Search --&gt; Farm Search Administration --&gt; FASTContent --&gt; Crawling (list to the left) --&gt; Content Sources</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/8508.012612_1619_POCPart2S4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/8508.012612_5F00_1619_5F00_POCPart2S4.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Click on <strong>New Content Source</strong></div>
<ul>
<li>Name: <strong>File system crawl</strong></li>
<li>Content Source Type: <strong>File Shares</strong></li>
<li>Start Addresses: <a href="file:///\\VBOXSVR\neurobiology-files">\\VBOXSVR\neurobiology-files</a></li>
<li>
<div>Crawl Settings: <strong>Crawl the folder and all subfolders of each start address</strong></div>
</li>
<li>Crawl Schedules: <strong>None </strong>[<strong>Full</strong> and <strong>Incremental</strong>]</li>
<li>Content Source Priority: <strong>Normal</strong></li>
<li>FileStart Full Crawl: [check the box]</li>
</ul>
<p>As it so happens I have 1 plain text file in the folder named <strong>neurobiology-files</strong>. I moved all of the folders so that the 1 file is sitting there waiting to be crawled. More files later; first let's prove we can index&nbsp;1 file.</p>
</li>
<li>
<div>Click <strong>OK</strong> to start the crawl. The <strong>Status</strong> column should read <strong>Starting</strong>. Click the <strong>Refresh</strong> link every so often until the Status changes from <strong>Starting</strong> to <strong>Crawling Full</strong> to <strong>Completing</strong> to <strong>Idle</strong>. This will take <strong>3-4</strong> minutes.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6136.012612_1619_POCPart2S5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6136.012612_5F00_1619_5F00_POCPart2S5.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
</ul>
</li>
<li>
<div>Execute a search in the <strong>Fast Search Center</strong> with<strong> </strong>keyword<strong> #</strong></div>
<ul>
<li>Return to the IE at <a href="https://intranet.contoso.com/fast-search">https://intranet.contoso.com/fast-search</a> and re-execute the search using <strong>#</strong> (hash).</li>
<li>A result set with the full contents of the collection (in this case collection <strong>sp</strong>) is displayed. The results will be <strong>2</strong> more than before (<strong>97</strong> vs. <strong>95</strong>).</li>
<li>Under the <strong>Site</strong> refiner click <strong>vboxsvr</strong>. The results will now number <strong>2</strong> (one file and one folder). Success!</li>
</ul>
</li>
<li>Copy any other files you have into the folder holding the documents to be indexed (in this case, <strong>neurobiology-files</strong>).</li>
<li>Return to the browser with the Central Administration page and hover your cursor over the <strong>File System Crawl</strong> label. An <strong>arrow</strong> will appear next to it.</li>
<li>
<div>Click the arrow to open the popup menu. Click <strong>Start Full Crawl</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3301.012612_1619_POCPart2S6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3301.012612_5F00_1619_5F00_POCPart2S6.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>Refresh.</li>
<li>Wait.</li>
<li>When the <strong>Status</strong> turns to <strong>Idle</strong> return to the <strong>Fast Search Center</strong> page and rerun the query with <strong>#</strong> (hash).</li>
<li>
<div>Click on the <a href="https://technet.microsoft.com/en-us/library/gg193929.aspx">refiner</a> <strong>Site --&gt; vboxsvr</strong>. The total results will be the total number of documents, the root folder and any sub-folders. My total for <strong>80</strong> documents, <strong>1</strong> root folder, and <strong>149</strong> sub-folders is <strong>230</strong> (if the number haven't changed give SharePoint more time; it will catch up).</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6521.012612_1619_POCPart2S7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6521.012612_5F00_1619_5F00_POCPart2S7.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>If you want to be really cool then change the query to:</p>
<p><strong># AND isdocument=true</strong></p>
<p>Click on <strong>Site --&gt; vboxsvr</strong> and you should see just the number of documents you indexed <strong>minus</strong> the folders they live in (if you had subfolders to begin with).</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3465.012612_1619_POCPart2S8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3465.012612_5F00_1619_5F00_POCPart2S8.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>How cool is that?</p>
</li>
</ul>
<p>Examine your handy work. Take a good look at the page. Look at the refiners. Try various searches based on the keywords you know should be in the content. Look at the <strong>Sort By</strong>.</p>
<p style="margin-left: 2pt;">Want to know how to configure the search results to ignore folders? Read <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/26/poc-part-2a-ignoring-indexed-folders.aspx">Part 2a</a></strong>.</p>
<p style="margin-left: 2pt;">How would you do this using PowerShell? Read <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/30/poc-part-2b-powershell-configuring-the-connector-indexing-content.aspx">Part 2b</a></strong>.</p>
<p style="margin-left: 2pt;"><span style="color: #366092; font-size: 13pt;"><strong>Important pages (your appids will vary)</strong> </span></p>
<ul>
<li>
<div>Central Admin<span style="font-family: Times New Roman; font-size: 12pt;"> </span></div>
<ul>
<li><a href="https://demo2010a:2010/default.aspx">https://demo2010a:2010/default.aspx</a></li>
</ul>
</li>
<li>
<div>Farm Search Administration</div>
<ul>
<li><a href="https://demo2010a:2010/searchfarmdashboard.aspx">https://demo2010a:2010/searchfarmdashboard.aspx</a></li>
</ul>
</li>
<li>
<div>Content Sources</div>
<ul>
<li><a href="https://demo2010a:2010/searchadministration.aspx?appid=5c78b149-0a27-44f3-b240-bb7da0f2ab42">https://demo2010a:2010/searchadministration.aspx?appid=5c78b149-0a27-44f3-b240-bb7da0f2ab42</a></li>
</ul>
</li>
<li>
<div>Crawl Logs: if something goes wrong this is the place to start looking</div>
<ul>
<li><a href="https://demo2010a:2010/_admin/search/LogContentSources.aspx?appid=5c78b149%2D0a27%2D44f3%2Db240%2Dbb7da0f2ab42">https://demo2010a:2010/_admin/search/LogContentSources.aspx?appid=5c78b149%2D0a27%2D44f3%2Db240%2Dbb7da0f2ab42</a></li>
<li>There are a number of useful pages here: specifically <strong>URL</strong> and <strong>Crawl History</strong></li>
</ul>
</li>
</ul>
<p><span style="color: #366092; font-size: 13pt;"><strong>Easter eggs</strong> </span></p>
<ul>
<li>
<div>Want to see the XML output from the Fast QRServer (Query/Response server)? Try this at home, but not at work.<span style="font-family: Times New Roman; font-size: 12pt;"> </span></div>
<ul>
<li><strong>URL:</strong> <a href="https://localhost:13280/">https://localhost:13280/</a></li>
<li>
<div><span style="color: black; font-family: Verdana; font-size: 8pt;"><strong>FQL Query: </strong></span>meta.collection:sp and #</div>
<ul>
<li>Should return <strong>281</strong> items</li>
</ul>
</li>
<li>
<div><span style="color: black; font-family: Verdana; font-size: 8pt;"><strong>FQL Query: </strong></span>meta.collection:sp and # and isdocument:true</div>
<ul>
<li>Should return <strong>98</strong> items</li>
</ul>
</li>
</ul>
</li>
<li>
<div>To view the status of the running Fast processes</div>
<ul>
<li>
<div>Open the <strong>PowerShell</strong> window the same way described above and enter on the command line:</div>
<p><strong>nctrl status</strong></p>
</li>
</ul>
</li>
</ul>
<p><em>Much thanks to <strong>Leo Souza</strong> for helping me with answers to various questions/problems I was having that were mostly self-inflicted.</em></p>
<p style="margin-left: 2pt;">Next: <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/03/06/poc-part-3-crawling-an-external-web-site-with-the-sharepoint-2010-web-crawler.aspx">Crawling an External Web Site with the SharePoint 2010 Web Crawler</a></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 1: Search - Mapping the Content Folder</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-1-search-mapping-the-content-folder</link>
      <pubDate>Thu, 26 Jan 2012 08:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/26/poc-part-1-search-mapping-the-content-folder/</guid>
      <description><![CDATA[Ready to start indexing some files? So am I!
But we are not doing that this post. Sorry. Life can...]]></description>
      <content:encoded><![CDATA[<p>Ready to start indexing some files? So am I!</p>
<p>But we are not doing that this post. Sorry. Life can be full of disappointment. But not to worry.</p>
<p>At this point in the journey we need to tell the VM where to find the files we want to index (we are indexed <strong>files</strong> for this first iteration). Eventually we will tell the connector, but one step at a time. Let's copy some content into a folder on our local machine, make it accessible by the VM and index it. Sounds simple? It is...but we'll index the content in the next post.</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>Pre-prep</strong> </span></p>
<ol>
<li>Go get some documents. In my case I pulled some documents from the web using <a href="https://www.bing.com">Bing</a> for keyword <strong>neurobiology </strong>(98 all told in various formats).</li>
<li>Copy the files into a local folder (I created a folder named <strong>neurobiology-files</strong> under <strong>fast-technet-files</strong>). You will map the folder onto the VM in a later step.</li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<ol>
<li>Start VirtualBox. <strong>Do not start the VM.</strong></li>
<li>If you took a snapshot of your VM at the end of the last post then restore it just to be on the safe side.</li>
<li>Start the VM.</li>
<li>
<div>Map the content folder.</div>
<ol>
<li>
<div>VirtualBox Manager --&gt; Settings --&gt; Shared Folders --&gt; Machine Folders --&gt; (right click) Add Shared Folders</div>
<ol>
<li>Folder Path: <em>[the path to the files you downloaded]</em></li>
<li>Folder Name: <em>[fills in automatically]</em></li>
<li>Auto-mount <em>[checked]</em></li>
<li>Make Permanent <em>[checked]</em></li>
</ol></li>
<li>Click <strong>OK </strong>and then<strong> OK again</strong> to close the<strong> Settings </strong>dialog.</li>
<li>From within the VM open a Windows Explorer and in the Location field type <a href="file:///\\VBOXSVR">\\VBOXSVR</a>. You should see your folder listed (mine is listed below, but I don't know what you decided to call yours).</li>
<li>
<div>Right-click on shared folder and select <strong>Map Network Drive&hellip;</strong></div>
<ol>
<li>Drive: X:</li>
<li>Folder: [should already have <a href="file:///\\VBOXSVR\your-folder-name">\\VBOXSVR\your-folder-name</a>]</li>
<li>Click <strong>Finish</strong>. Explorer should now list any files and folders in your shared folder.</li>
</ol></li>
</ol></li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<ol>
<li>Start VirtualBox. <strong>Do not start the VM.</strong></li>
<li>
<div>If you took a snapshot of your VM at the end of the last post then restore it just to be on the safe side.</div>
<ol>
<li>Click Snapshots (upper right-hand button)</li>
<li>Right click on <strong>TechNetVM-clean-install</strong> and select <strong>Restore Snapshot</strong>.</li>
<li>Uncheck Create a Snapshot of the Current Machine State and click <strong>Restore</strong>.</li>
</ol>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/4403.012612_1611_POCPart1S1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/4403.012612_5F00_1611_5F00_POCPart1S1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li><strong>Start the VM</strong>. The VM will display a dialog stating that the VM is being restored. It will complete in a few seconds.</li>
<li>
<div>Map the content folder.</div>
<ol>
<li>
<div>VirtualBox Manager --&gt; Settings --&gt; Shared Folders --&gt; Machine Folders --&gt; (right click) Add Shared Folders</div>
<ol>
<li>Folder Path: <em>[the path to the files you downloaded]</em></li>
<li>Folder Name: <em>[fills in automatically]</em></li>
<li>Auto-mount <em>[checked]</em></li>
<li>Make Permanent <em>[checked]</em></li>
</ol>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2843.012612_1611_POCPart1S2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2843.012612_5F00_1611_5F00_POCPart1S2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>Click <strong>OK </strong>and then<strong> OK again</strong> to close the<strong> Settings </strong>dialog.</li>
<li>
<div>From within the VM open a Windows Explorer and in the Location field type <a href="file:///\\VBOXSVR">\\VBOXSVR</a>. You should see your folder listed (mine is listed below, but I don't know what you decided to call yours).</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3326.012612_1611_POCPart1S3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3326.012612_5F00_1611_5F00_POCPart1S3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Right-click on shared folder and select <strong>Map Network Drive&hellip;</strong></div>
<ol>
<li>Drive: X:</li>
<li>
<div>Folder: [should already have <a href="file:///\\VBOXSVR\your-folder-name">\\VBOXSVR\your-folder-name</a>]</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2766.012612_1611_POCPart1S4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2766.012612_5F00_1611_5F00_POCPart1S4.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Click <strong>Finish</strong>. Explorer should now list any files and folders in your shared folder.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6545.012612_1611_POCPart1S5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6545.012612_5F00_1611_5F00_POCPart1S5.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
</ol></li>
</ol></li>
</ol>
<p>It is good to see a folder with content...in my case one file and folders with files.</p>
<p>Once again, high-fives all around. I recommend taking a snapshot (I called my new snapshot <strong>TechNetVM-mapping-content-folder-complete</strong>).</p>
<p>So far, 4 posts and we still haven't indexed anything. Time to do something about that. Let's configure the connector and see what all the hubbub is about.</p>
<p>Next: <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/26/poc-part-2-search-configuring-the-connector-indexing-content.aspx">Indexing the files (finally!)</a></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 2: Creating the VM - Deploying the VHD Using VirtualBox</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-2-creating-the-vm-deploying-the-vhd-using-virtualbox</link>
      <pubDate>Thu, 26 Jan 2012 08:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/26/poc-part-2-creating-the-vm-deploying-the-vhd-using-virtualbox/</guid>
      <description><![CDATA[Welcome back! I see you are not easily discouraged.
Here are our assumptions:

You are running...]]></description>
      <content:encoded><![CDATA[<p>Welcome back! I see you are not easily discouraged.</p>
<p>Here are our assumptions:</p>
<ul>
<li>You are running <strong>Windows 7</strong><span style="font-family: Times New Roman; font-size: 12pt;"> </span></li>
<li>You are running <strong>VirtualBox</strong></li>
<li>You have downloaded and extracted the <strong>VHD for Fast Search Server 2010 for SharePoint</strong></li>
</ul>
<p>Let's hook up VirtualBox and the VHD.</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<p><span style="color: #366092;"><strong>Creating the VM</strong> </span></p>
<ul>
<li>Start Virtual Box. Notice the friendly animals vying for your attention.</li>
<li>Clicking on<strong> New</strong> (upper <strong>left hand</strong> corner) will open the <strong>Create</strong> <strong>New Virtual Machine</strong> dialog. Click <strong>Next</strong>.</li>
<li>
<div>VM Name and OS Type</div>
<ul>
<li>Name: <strong>TechNet FS4SP VM</strong></li>
<li>Operating System:<strong> Microsoft Windows</strong></li>
<li>Version:<strong> Windows 2008 (64 bit)</strong></li>
</ul>
<p>Click <strong>Next</strong>.</p>
</li>
<li>
<div>Memory</div>
<p>Enter <strong>8192</strong> in the input field to the right of the slider (or <strong>half</strong> of whatever memory you do have available).</p>
<p>Click <strong>Next</strong>.</p>
</li>
<li>
<div>Virtual Hard Disk</div>
<p>Start-up Disk: <strong>checked</strong></p>
<p>Select <strong>Use Existing Hard Disk</strong></p>
<p>Click the folder icon to the right of drop down and navigate to<strong> </strong>the location of the VHD. It should be on your desktop in the <strong>fast-technet-files\2010-10a\Virtual Hard Disks</strong> folder.</p>
<p>Click <strong>Next</strong>.</p>
</li>
<li>
<div><strong>Summary</strong></div>
<p>Check the information and, if all looks well, click <strong>Create</strong>.</p>
</li>
<li>The <strong>VirtualBox management console</strong> should appear with various configurations listed.</li>
<li>Select the <strong>TechNet FS4SP VM</strong> (click on it once).</li>
<li>
<div><strong>Settings --&gt; System --&gt; Processor</strong></div>
<p>If you have<strong> </strong>a<strong> quad-core</strong> box then be a nice guy and give the VM <strong>2 CPUs</strong>.</p>
</li>
<li>
<div><strong>Settings --&gt; Storage</strong></div>
<p>Note that the <strong>2010-10a.vhd</strong> is under <strong>SATA Controller</strong>.</p>
</li>
<li>Right-click on <strong>2010-10a.vhd</strong> and select <strong>Remove Attachment</strong> from the popup menu.</li>
<li>Right-click on IDE Controller and select <strong>Add Hard Disk</strong>. When the <strong>VirtualBox - Question</strong> dialog opens click on <strong>Choose Existing Disk</strong>.</li>
<li>The File dialog should open in the folder with the <strong>2010-10a.vhd</strong> file. Select it and click <strong>Open</strong>.</li>
<li>The VHD should now appear under the <strong>IDE Controller</strong> device. Click <strong>OK</strong> to accept all of the changes.</li>
</ul>
<p><span style="color: #366092;"><strong>Initializing the VM</strong> </span></p>
<ul>
<li>Click <strong>Start</strong> (the <strong>big green arrow</strong> above the VM entry list).</li>
<li>As the VM starts up a series of dialog boxes will open. Read them and close them. The VM does take a few minutes to start up.</li>
<li>
<div>When the VM finally says <strong>Press Ctrl+Alt+Del to Login</strong>...don't. From the <strong>VM main menu bar</strong> select <strong>Machine --&gt; Insert Ctrl + Alt + Del</strong>. That will bring you to the login screen.</div>
<p>The <strong>default password</strong> for the TechNet Fast Search Server 2010 for SharePoint VM is <strong>pass@word1</strong>. Drivers will install, a Warm Up script will execute, Lync will open a window and eventually the <strong>Warm Up</strong> window will close (I promise it will take a long time, but it will finish).</p>
</li>
<li>A Windows dialog has now opened saying you must restart your computer. Click <strong>Restart Now</strong> and watch your VM reboot.</li>
<li>When the VM has completed rebooting does the <strong>Warm Up</strong> window give you an error message in <span style="color: red;"><strong>bright red letters </strong></span>complaining about the <strong>Forefront Identity Manager Service</strong>? If it does you can safely ignore it.</li>
<li>
<div>Install the <strong>Guest Additions</strong></div>
<ul>
<li>In the VM window's main menu bar select <strong>Devices --&gt; Install Guest Additions</strong>. That mounts an ISO image.</li>
<li>Within the VM open <strong>Windows Explorer</strong>. An <strong>AutoPlay</strong> window will open; Click on <strong>Run VBoxWindownsAdditions.exe</strong>.</li>
<li>When the <strong>Welcome</strong> dialog open click <strong>Next</strong>.</li>
<li><strong>Choose Install Location</strong>: click <strong>Next</strong>.</li>
<li><strong>Choose Components</strong>: I suppose you can check Direct 3D support if your machine supports it, otherwise click <strong>Install</strong>.</li>
<li><strong>Would you like to install this device software? </strong>Always click<strong> Install </strong>(you will need to do this 2 times)<strong>.</strong></li>
<li>With<strong> Reboot Now </strong>selected, click <strong>Finish</strong>.</li>
<li>Get more coffee while you wait for the reboot to complete.</li>
</ul>
</li>
<li>
<div>In the VM edit <strong>C:\Windows\System32\drivers\etc\hosts</strong>.</div>
<p>At the bottom of the file add:</p>
<p><span style="font-family: Courier New;">10.0.2.15 intranet </span></p>
<p><span style="font-family: Courier New;">10.0.2.15 intranet.contoso.com </span></p>
</li>
<li>
<div>Check the SharePoint install on the VM.</div>
<ul>
<li>Open IE within the VM.</li>
<li>It should automatically open on <a href="https://intranet.contoso.com">https://intranet.contoso.com</a> (look don't touch).</li>
<li>Go to <a href="https://demo2010a:2010">https://demo2010a:2010</a> for the SharePoint administration pages (look don't touch)</li>
</ul>
</li>
</ul>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<p>Hooking up the VHD to VirtualBox is pretty straightforward. As you would expect, the more resources you can allocate to it the better, but I have it set up with minimum CPU and memory.</p>
<p><span style="color: #366092;"><strong>Creating the VM</strong> </span></p>
<ul>
<li>
<div>Start Virtual Box. Notice the friendly animals vying for your attention.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2234.012612_1601_POCPart2C1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2234.012612_5F00_1601_5F00_POCPart2C1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Clicking on<strong> New</strong> (upper left hand corner) will open the <strong>Create</strong> <strong>New Virtual Machine</strong> dialog. Click <strong>Next</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3617.012612_1601_POCPart2C2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3617.012612_5F00_1601_5F00_POCPart2C2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>VM Name and OS Type</div>
<ul>
<li>Name: <strong>TechNet FS4SP VM</strong></li>
<li>Operating System:<strong> Microsoft Windows</strong></li>
<li>Version:<strong> Windows 2008 (64 bit)</strong></li>
</ul>
<p>Click <strong>Next</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3223.012612_1601_POCPart2C3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3223.012612_5F00_1601_5F00_POCPart2C3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Memory</div>
<p>Enter <strong>8192</strong> in the input field to the right of the slider.</p>
<p>Click <strong>Next</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2211.012612_1601_POCPart2C4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2211.012612_5F00_1601_5F00_POCPart2C4.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Virtual Hard Disk</div>
<p>Start-up Disk: <strong>checked</strong></p>
<p>Select <strong>Use Existing Hard Disk</strong></p>
<p>Click the folder icon to the right of drop down and navigate to<strong> </strong>the location of the VHD. It should be on your desktop in the <strong>fast-technet-files\2010-10a\Virtual Hard Disks</strong> folder.</p>
<p>Click <strong>Next</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6036.012612_1601_POCPart2C5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6036.012612_5F00_1601_5F00_POCPart2C5.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Summary</div>
<p>Check the information and, if all looks well, click <strong>Create</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2630.012612_1601_POCPart2C6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2630.012612_5F00_1601_5F00_POCPart2C6.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>The <strong>VirtualBox management console</strong> should appear with various configurations listed.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/5850.012612_1601_POCPart2C7.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/5850.012612_5F00_1601_5F00_POCPart2C7.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Sadly, we are not finished.</p>
</li>
<li>Select the <strong>TechNet FS4SP VM</strong> (click on it once).</li>
<li><strong>Settings --&gt; System --&gt; Processor</strong></li>
<li>
<div>If you have<strong> </strong>a<strong> quad-core</strong> box then be a nice guy and give the VM <strong>2 CPUs</strong>.<strong> </strong></div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3704.012612_1601_POCPart2C8.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3704.012612_5F00_1601_5F00_POCPart2C8.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div><strong>Settings --&gt; Storage</strong></div>
<p>Note that the <strong>2010-10a.vhd</strong> is under <strong>SATA Controller</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2630.012612_1601_POCPart2C9.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2630.012612_5F00_1601_5F00_POCPart2C9.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>&nbsp; &nbsp;</p>
</li>
<li>Right-click on <strong>2010-10a.vhd</strong> and select <strong>Remove Attachment</strong> from the popup menu.</li>
<li>
<div>Right-click on IDE Controller and select <strong>Add Hard Disk</strong>. When the <strong>VirtualBox - Question</strong> dialog opens click on <strong>Choose Existing Disk</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/4380.012612_1601_POCPart2C10.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/4380.012612_5F00_1601_5F00_POCPart2C10.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>The File dialog should open in the folder with the <strong>2010-10a.vhd</strong> file. Select it and click <strong>Open</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/7002.012612_1601_POCPart2C11.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/7002.012612_5F00_1601_5F00_POCPart2C11.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>The VHD should now appear under the <strong>IDE Controller</strong> device. Click <strong>OK</strong> to accept all of the changes.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/7827.012612_1601_POCPart2C12.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/7827.012612_5F00_1601_5F00_POCPart2C12.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Let's check the condition of the VM.</p>
</li>
</ul>
<p><span style="color: #366092;"><strong>Initializing the VM</strong> </span></p>
<ul>
<li>Click <strong>Start</strong> (the <strong>big green arrow</strong> above the VM entry list).</li>
<li>As the VM starts up a series of dialog boxes will open. Read them. Also, if you feel comfortable enough, click the check box that says <strong>Do Not Show This Message Again </strong>and click<strong> OK</strong>. The VM does take a few minutes to start up. Be patient.</li>
<li>
<div>When the VM finally says <strong>Press Ctrl+Alt+Del to Login</strong>...don't. From the VM main menu bar select <strong>Machine --&gt; Insert Ctrl + Alt + Del</strong>. That will bring you to the login screen.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/6431.012612_1601_POCPart2C13.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/6431.012612_5F00_1601_5F00_POCPart2C13.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>The <strong>default password</strong> for the TechNet Fast Search Server 2010 for SharePoint VM is <strong>pass@word1 </strong>(don't tell anyone, it's a secret). Entering the password and pressing <strong>Enter</strong> or <strong>clicking in the blue and white arrow</strong> will (eventually) bring you to your desktop. Drivers will install, a Warm Up script will execute (and will display a warning, multiple times, that it is <strong>Waiting for service 'Windows Update(wuauserv): to finish starting&hellip;</strong>), Lync will open a window (that you can safely <strong>Setting icon --&gt;</strong> <strong>File --&gt; Exit</strong>) and eventually the <strong>Warm Up</strong> window will close (I promise it will take a long time, but it will finish). Go get some coffee if you feel anxious while you wait.</p>
<p>The Warm Up window finally closed? Not done yet.</p>
</li>
<li>A Windows dialog has now opened saying you must restart your computer. Click <strong>Restart Now</strong> and watch your VM reboot. Did I mention going for coffee or some other comforting beverages?</li>
</ul>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/2046.012612_1601_POCPart2C14.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/2046.012612_5F00_1601_5F00_POCPart2C14.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<ul>
<li>
<div>When the VM has completed rebooting, and you have logged in, does the <strong>Warm Up</strong> window give you an error message in <span style="color: red;"><strong>bright red letters </strong></span>complaining about the <strong>Forefront Identity Manager Service</strong> (perhaps <span style="color: yellow;"><strong>yellow</strong></span>?)? If it does you can safely ignore it.</div>
<p>Feeling good ?</p>
<p>Stop celebrating. One more thing to do.</p>
</li>
<li>
<div>Install the <strong>Guest Additions</strong></div>
<ul>
<li>In the VM window's main menu bar select <strong>Devices --&gt; Install Guest Additions</strong>. That mounts an ISO image.</li>
<li>
<div>Within the VM open <strong>Windows Explorer</strong>. An <strong>AutoPlay</strong> window will open; Click on <strong>Run VBoxWindownsAdditions.exe</strong>.</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/4762.012612_1601_POCPart2C15.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/4762.012612_5F00_1601_5F00_POCPart2C15.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>When the <strong>Welcome</strong> dialog open click <strong>Next</strong>.</li>
<li><strong>Choose Install Location</strong>: click <strong>Next</strong>.</li>
<li><strong>Choose Components</strong>: I suppose you can check Direct 3D support if your machine supports it, otherwise click <strong>Install</strong>.</li>
<li><strong>Would you like to install this device software? </strong>Always click<strong> Install </strong>(you will need to do this 2 times)<strong>.</strong></li>
<li>With<strong> Reboot Now </strong>selected, click <strong>Finish</strong>.</li>
<li>Get more coffee while you wait for the reboot to complete.</li>
</ul>
</li>
<li>
<div>In the VM edit <strong>C:\Windows\System32\drivers\etc\hosts</strong>.</div>
<p>At the bottom of the file add:</p>
<p><span style="font-family: Courier New;">10.0.2.15 intranet </span></p>
<p><span style="font-family: Courier New;">10.0.2.15 intranet.contoso.com </span></p>
<p><strong>10.0.2.15</strong> is the static IP of the VM. If you are lucky enough to run this under <strong>Windows Server 2008 R2</strong> and <strong>Hyper-V</strong> then you will not need the above. Running under <strong>Windows 7</strong> and <strong>VirtualBox</strong> requires it.</p>
</li>
<li>
<div>Check the SharePoint install on the VM.</div>
<ul>
<li>
<div>Open IE within the VM. It should automatically open on <a href="https://intranet.contoso.com">https://intranet.contoso.com</a> (look don't touch).</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/0167.012612_1601_POCPart2C16.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/0167.012612_5F00_1601_5F00_POCPart2C16.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
<li>
<div>Go to <a href="https://demo2010a:2010">https://demo2010a:2010</a> for the SharePoint administration pages (look don't touch)</div>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/4774.012612_1601_POCPart2C17.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/4774.012612_5F00_1601_5F00_POCPart2C17.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
</li>
</ul>
</li>
</ul>
<p>That's it!</p>
<p>Congratulations! You may now celebrate.</p>
<p>This might be a good time to take a snapshot of the VM in its current pristine state so you can restore it if things really go south (<strong>Machine --&gt; Take Snapshot</strong>). I highly recommend it (in other word: please take a snapshot so you can restore your VM to a clean starting point. I called mine <strong>TechNetVM-clean-install</strong>. You can find it under <strong>C:\Users\[user alias]\VirtualBox VMs\TechNet FS4SP VM\Snapshots</strong> not under <strong>%DESKTOP%\fast-technet-files\2010-10a\Snapshots</strong>).</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>Shortcuts:</strong> </span></p>
<ul>
<li><strong>How to log on to the machine</strong>: From the main menu: <strong>Machine --&gt; Insert Ctrl + Alt + Del</strong><span style="font-family: Times New Roman; font-size: 12pt;"> </span></li>
<li><strong>Right Ctrl + F</strong>: expand the VM window to full screen.</li>
<li>The <strong>Right Ctrl</strong> key will release the mouse from the clutches of the VM so you can use it on your desktop (the VM sometimes grabs the mouse when you click in the VM window and it cannot escape from the VM window. The default behavior is to allow you to move the mouse in and out of the VM window unencumbered).</li>
</ul>
<p>Next: <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/26/poc-part-1-search-mapping-the-content-folder.aspx">Let's make some content visible to the VM!</a></strong></p>]]></content:encoded>
    </item>
    <item>
      <title>POC - Part 1: Creating the VM - Extracting the VHD</title>
      <link>https://docs.microsoft.com/archive/blogs/dark_corners/poc-part-1-creating-the-vm-extracting-the-vhd</link>
      <pubDate>Thu, 26 Jan 2012 07:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Carlos Valcarcel]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/dark_corners/2012/01/26/poc-part-1-creating-the-vm-extracting-the-vhd/</guid>
      <description><![CDATA[In this post we will download the VHD from TechNet, and create the VHD.
Well, if you are reading...]]></description>
      <content:encoded><![CDATA[<p>In this post we will download the VHD from TechNet, and create the VHD.</p>
<p>Well, if you are reading this then perhaps you were brave enough to download the VHD from TechNet that already has SharePoint 2010 and Fast Search Server 2010 for SharePoint (hereafter referred to as FS4SP). If you have, jump down to the section titled <strong>Setting Up the VHD on VirtualBox</strong>. If you have not, let's do that right now.</p>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Short Version</strong> </span></p>
<ol>
<li>Download the VHD files from <a href="https://technet.microsoft.com/en-us/evalcenter/ee424282.aspx">https://technet.microsoft.com/en-us/evalcenter/ee424282.aspx</a></li>
<li>Copy the files from your local <strong>Downloads</strong> to <strong>%DESKTOP%\fast-technet-files </strong>(create the folder)</li>
<li>From the <strong>%DESKTOP%\fast-technet-files </strong>folder double click on <strong>2010-10a.part01.exe</strong></li>
<li>When the wizard requests a path to create the VHD files and folders accept the full default path (which should be something like <strong>C:\User\[some user alias]\Desktop\fast-technet-files</strong>)</li>
<li>When the archive creator is done there should be folder named <strong>2010-10a</strong> under <strong>fast-technet-files</strong>.</li>
</ol>
<p><span style="color: #366092; font-size: 13pt;"><strong>The Long Version</strong> </span></p>
<p><span style="color: #366092;"><strong>Downloading the files</strong> </span></p>
<p>When I last check on <strong>January 6, 2012</strong> you can download the VHD for the <strong>Fast Search Server 2010 for SharePoint Trial</strong> from TechNet at <a href="https://technet.microsoft.com/en-us/evalcenter/ee424282.aspx">https://technet.microsoft.com/en-us/evalcenter/ee424282.aspx</a>. A Windows Live account is required is proceed and download the <strong>24</strong> files that constitute the final VHD.</p>
<p><span style="color: #366092;"><strong>Copy the files to a folder on your desktop</strong> </span></p>
<p>Recommendation: create a folder named <strong>fast-technet-files</strong> and move the 24 files into it. It will make the final VHD easier to find (and move, if need be). I created the folder on my desktop.</p>
<p><span style="color: #366092;"><strong>Creating the VHD</strong> </span></p>
<p>Now that you have 24 files all nicely ensconced on your drive double click on the file named <strong>2010-10a.part01.exe</strong>. If you have never created a VHD from a RAR collection then this is your lucky day. That one file will take care of creating a series of folders and the final VHD image.</p>
<p>Here is the picture book version of the creation of the VHD.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/3113.012612_1539_POCPart1C1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/3113.012612_5F00_1539_5F00_POCPart1C1.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Click <strong>Run</strong>.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/4760.012612_1539_POCPart1C2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/4760.012612_5F00_1539_5F00_POCPart1C2.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Click <strong>Accept</strong> if you really want to do these exercises.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/5751.012612_1539_POCPart1C3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/5751.012612_5F00_1539_5F00_POCPart1C3.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Click <strong>Extract</strong> to start the process. Go get coffee or soda or juice or water or whatever you like drinking while your computer is busy doing real work.</p>
<p>Once the extraction process is done, if you created the <strong>fast-technet-files</strong> folder on your desktop, then the executable will create a folder named <strong>2010-10a</strong> directly below <strong>fast-technet-files</strong> . If you navigate down into <strong>2010-10a\Virtual Hard Disks</strong> you will find the actual VHD.</p>
<p><img alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/39/70/metablogapi/1538.012612_1539_POCPart1C4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-70-metablogapi/1538.012612_5F00_1539_5F00_POCPart1C4.png" /><span style="font-family: Times New Roman; font-size: 12pt;"> </span></p>
<p>Time to create the VM.</p>
<p>Next: <strong><a href="https://blogs.msdn.com/b/dark_corners/archive/2012/01/26/poc-part-2-creating-the-vm-deploying-the-vhd-using-virtualbox.aspx">Setting Up the VHD on VirtualBox</a></strong></p>]]></content:encoded>
    </item>
  </channel>
</rss>