MY BLOG HAS BEEN MOVED, PLEASE VISIT MY NEW SITE HERE: http://sharepoint.buban.eu
I’ve configured Enterprise Search server and Fast search server for a few times during my short way with SharePoint and I’ve never had any problem with crawled search properties. Until the last time when I had to configure Enterprise search at customer. After deployment and search configuration, custom site columns were not available. I was not able to map ‘Applies To’ and ‘Source’ fields with newly created managed properties.
The first advice from Google told me how to create custom crawled property using PowerShell. That sounds like it, but I didn’t want to create crawled properties for all custom site columns using script. I believed somewhere there is an option to do it automatically. So I continued looking for another hint. Different article said that site column should be in use, otherwise crawl will not include it. I’ve never met with this before and appeared to be strange, but let’s give it a try. So I’ve created list items with ‘Source’ column and page with custom page layout that used ‘Applies To’ field. Right after I performed full crawl, ‘Source’ field finally appeared, but ‘Applies To’ was still missing :(
I went through the search configurations once again, read option after option carefully and finally found one missing piece. In Metadata properties, under Categories link you can find all crawled properties grouped by category. As well as settings for every category. By clicking on Category action menu, you can select Edit to change its properties. Here we go. You have to select first 3 options and Search server will automatically include all available custom properties into the crawl. Crawled properties for custom site columns are available after next crawling.
Once accomplished, you don’t need to create items before mapping managed properties. One field was still missing. ‘Applies To’ did not appear in crawled properties anyway. I double checked whether the page using this field was crawled, whether the field is included in Content Type and whether there is some error in ULS and Search log. I tried to reset search index but still without success. Customer was waiting for configuration, so I became write a PowerShell script to create property for this field. When I was looking at the content type in Pages library where CT was used, I noticed that Content type was associated with Pages library, but was not set to be visible due to security reason. That means Search will not include columns that are in hidden content type even when the content type will be in used in custom page layout and there will be page using the content type.
So next time you will not see your custom fields in crawled properties, you should:
- verify your custom fields is in use (in existing item or at least associated with visible content type)
- check your search settings and crawled category properties
- do a Search Index Reset
- perform a full crawl
And that’s it. I hope my first article in this blog will help and save a time to some my SharePoint colleagues :)