Buckets
What is an Item Bucket?
A bucket is a special type of item in Sitecore that acts as a container for other items.
Most importantly, the underlying structure of items inside a bucket does not matter to the user. Items in a bucket are not displayed in the content tree - instead, users find these items by using Sitecore search.
When to Use a Bucket
Buckets are useful when any of the following are true:
- Tree structure isn't important. Not all content needs to be organized into an orderly tree structure. Thousands of content items that are easily and uniquely identified by name or description can benefit from being in a bucket.
- There are more than 100 items under one node. Sitecore's UI starts to have minor performance issues when displaying more than 100 items under a tree node. Buckets can support millions of items.
- Searching for content is preferred. With a performant and robust search engine behind Sitecore (Solr, Coveo, etc.), searching for content can be significantly quicker than digging through a content tree.
Because buckets rely on the Sitecore Content Search API, they will not work if no search indexing engine is running. Out of the box, all modern versions of Sitecore support Lucene for basic search functionality, so buckets should always work.
Creating & Managing Buckets
To create a bucket, select an existing item in the content tree, then open the "Configure" tab in the ribbon, then click "Bucket."
Buckets display like any other item in the content tree, so it is important to visually distinguish them with a different icon or a separate item template altogether.
A bucket has a couple of distingishing features from regular items:
- There is an Insert Option for "Saved Search," which allows users to quickly find items in a bucket based on previous searches.
- The bucket item has the "Is Bucket" field checked on its standard template. Quite simply, this identifies the item as a bucket.
There are two more actions that may be performed on buckets:
- Revert removes the bucket designation from an item and removes all items from the internal bucket data structure.
- Sync re-indexes all items under the bucket. This is used when a configuration change was made to the bucket. For example, if you added a regular item to the bucket and later marked it "bucketable," a Sync action would index it into the bucket.
Items In Buckets
In order to be placed inside a bucket and be searchable, an item must be made "bucketable" (see below). It is best to do this on the Standard Values of an item's template and use Insert Options to ensure that only bucketable items can be placed in a bucket.
If items are not marked bucketable, they will appear under the bucket as structured content:
Items properly bucketed are hidden from view (in the image above, see the message "There are hidden items in this container."). Clicking on the bucket then brings up the search interface, which allows content authors to search for items:
Viewing All Items In a Bucket
Although the underlying data structure of buckets do not matter to Sitecore users, it is possible to see that structure. On the "View" tab on the Content Editor ribbon, enabling the "Buckets" checkbox will show bucketable items in the content tree: