Hi all,
I have created a farm solution (for SP 2013 on prom) in Visual Studio 2012 (with whole bunch of site columns, content types, lists, libraries … – all declarative with element.xml files) and deployed to my client’s environment. Everything looks Ok, however, the Crawled & Managed properties related to my custom site columns are not generate as part of crawling the content! The search service is created, the site is fully crawled, and also there are enough content in the site to trigger the crawler to generate the managed properties. However, for some weird reasons, the Crawled & Managed properties aren’t being fully generated!! (Some site columns do have both managed property and crawled property, but not all of them!)
Anyone had the same/similar issue before? Appreciate any help or suggestions. J
Cheers,
Hi,
SourceID is the solution for this problem!!!
Make Sure that you have StaticName and SourceID defined in your field definition XML before you deploy your farm solution into your farm.
If you discovered this issue after you have deployed your solution to your farm and are wondering why no crawle properties shows up in search schema I would recomend follow this steps:
1. change the sourceid property in your field definition xml
2. redeploy your solution into your farm
after you have added your site column to a list this change wont get to the field definition at list level and the crawl behavior will be still bad.
3. To solve the problem update the SchemaXML property of your Column at the list level. Replace the GUID like SourceID with “‘http://schemas.microsoft.com/sharepoint/v3″
$list.Fields[“Farm Col 2 Root”].SchemaXML = “”
$list.Fields[“Farm Col 2 Root”].Update()
run the fullcrawl after you’ve updated your field at the sitcollection level and at the list level and everything will work as expected.
Thanks Ken,
Weirdly, it is uncommented, but the problem still exists. I guess it has to have something to do with the multiple WFE’s!
Thanks all for the help, greatly appreciate it. I changed my approach, and instead of defining the site columns declaratively, I used PowerShell to create the site columns & content types. According to the below link apparently SP Search Crawl doesn’t generate the properties for site columns which are created declaratively. http://radutut.wordpress.com/2013/05/01/managed-properties-in-sharepoint-2013/
Something to ensure:
Make sure the following line is uncommented in web.config file.
<add name=”Session” type=”System.Web.SessionState.SessionStateModule” />
Parrs just added a fuller description on Facebook … copied here …
TO my SharePoint friends. I am having issues with managed properties in SP2013 and was wondering if you could give me suggestions?
I have built a farm solution in Visual Studio 2012 for SharePoint 2013 with whole bunch of site columns, content types, lists, and libraries (plus some WF, event receivers, feature receivers, custom application pages, …). All site columns, content types, list definitions and lists are defined declaratively with element.xml files. In my DEV box, everything looks good, as it always works on developers’ machines! however, after developing the solution packages to the Client’s environment, I am experiencing below issues:
1. After building the site using the solution package and having enough content populated to the site, I run a full crawl on the site, but for some weird reasons I don’t get managed / crawled properties for the custom site columns, even though the site columns are in the lists and there are plenty of content with all those site columns filled out. Have you ever had the same issue? Any suggestions/hint to solve this issue will be a great help.
2. Also, I am using SP session state for ‘Shopping Trolley’ functionality. The Shopping Trolley is working fine on the DEV box, but it complains about not having session variable in the client’s environment. I am using SQL session state management and have enabled the session state management on the APP server using PowerShell scripts. Worth mentioning that there is 1x WFE, 1xWFE+APP, 1SQL and 1AD. I used the same PowerShell script to activate the SQL session state management on my DEV and the trolley works fine but it doesn’t work on the client’s environment. As we have 2 WFE’s on PROD, do I need to do any tweak to get the session management working?
I really appreciate any help.