Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I want to map people properties in FAST Search: crawled properties to contents hidden using powershell. I know that I can get crawled properties using Get-FASTSearchMetadataCrawledProperty but this list gives me all the ows_crawledproperty. I want user profile crawled properties and map them. Any idea how I can achieve this?

share|improve this question

3 Answers 3

up vote 3 down vote accepted

FAST cannot index user profiles. You need to configure enterprise search for this.

  • Make sure User Profile Synchronization is running and you have profiles imported
  • Give your search default content access account "Retrieve People Data for Search Crawlers" permission on User Profile Service Application
  • Configure a new Content Source "People" that points to sps3://yourMySiteUrl
  • Do a full crawl (this will give you crawled properties in index). User Profile crawled properties are stored in the People category.
  • Create managed properties using New-SPEnterpriseSearchMetadataManagedProperty cmdlet
  • Map crawled and managed properties using New-SPEnterpriseSearchMetadataMapping cmdlet
  • Do a full crawl again

You should now be able to do property restriction keyword queries like

yourMappedProperty="something"
share|improve this answer
    
I would like to search a user profile property without using the syntax that you mentioned above. (yourMappedProperty="something") To achive this, I need to change the advanced searchable settings. I set the Full-Text Index: PeopleIdIx and then it works only giving "something". What I am trying to find out, how can I set this "PeopleIdx" option of a managed property using PowerShell. Is it possible? –  Tolga Sep 29 at 14:37

Basically, This is how I have achieved it:

$searchapp = Get-SPEnterpriseSearchServiceApplication "FAST4SP2010 QUERY SSA"
 $mp = Get-SPEnterpriseSearchMetadataManagedProperty -SearchApplication $searchapp -Identity 'contentshidden'
 $categy = Get-SPEnterpriseSearchMetadataCategory -SearchApplication $searchapp -Identity People
  $cats = Get-SPEnterpriseSearchMetadataCrawledProperty -SearchApplication $searchapp -Category $categy
   foreach($cat in $cats)
   {

$cp = Get-SPEnterpriseSearchMetadataCrawledProperty –name $cat.Name -SearchApplication $searchapp
 New-SPEnterpriseSearchMetadataMapping –Managedproperty $mp –crawledproperty $cp -SearchApplication $searchapp
}
share|improve this answer

Try to use Get-FASTSearchMetadataCategory function:

$category = Get-FASTSearchMetadataCategory -Name People
$crowledProperties = $category.GetAllCrawledProperties()

$property = //retrive property from $crowledProperties

$managedproperty = New-FASTSearchMetadataManagedProperty -Name webtitle -type 1 -description "description"

New-FASTSearchMetadataCrawledPropertyMapping -ManagedProperty $managedproperty -CrawledProperty $property 
share|improve this answer
    
Basically, I am using –  EVIA Jun 27 '12 at 2:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.