This is one of the 1001 or great new things about search in SharePoint 2013. In fact if I had the copious free time that would actually be kind of a fun challenge, writing a 1001 new things I like about Search, but I digress. In this particular case, I'm talking about adding properties to a property bag and getting them indexed and searchable. Fortunately SharePoint 2013 makes this possible, not only for webs, but even all the way down to an SPList. How cool is that? :-)
Here is some PowerShell you can use to get you started with creating an indexed property in an SPWeb property bag:
$web = Get-SPWeb http://localhost$web.AllProperties["Prop1"] = "value1"$web.IndexedPropertyKeys.Add("Prop1")$web.Update()
Next, here's how you add an indexable property to a list:
$list = $web.Lists["Announcements"]$folder = $list.RootFolder$folder.Properties["Prop2"] = "Spammers"$folder.Update()$list.IndexedRootFolderPropertyKeys.Add("Prop2")$list.Update()
Of course then just run a full crawl afterward to create the crawled property and all that hoo haw so you end up with a managed property when you're done that is searchable, queryable and retrievable.
Nice! Does this work with remote powershell and sharepoint online?
Here's my favorite treatment of the options to implement the same in SP2010.
A lot of work, and only applies to site metadata. This SP2013 feature is one of my favorite as well.
ikr (i know right) i should try that thank you Len (or Thanks Len!)
What Nico said, does this work in SharePoint Online?
Can the property bag values be indexed from the client object model?
SharePoint Property Bag Settings 2013 is released on CodePlex http://pbs2013.codeplex.com/
Great feature! A fellow colleague asked me if that was possible with SharePoint 2013. Knowing it was not in SharePoint 2010, I almost gave a negative answer. Then a found this in your blog, thanks a lot.
Is this property bag the same as the Custom Property of the Term sets? if so, how its made to make this Custom property searchable?
I'd also like to know if it's possible to do this by using client-side code. Do you know this?
Nice post. Here is one more post explaining to get and set property bag values in SharePoint 2013 apps using CSOM