Have you ever wondered why a certain document, item is not retrieved by the Search of SharePoint Online? We all know that the “Shared” Search Environment of SharePoint Online limits us in a number of functionalities but there are also some “hidden” limitations.
For example, there are limits to the number of entries you can have in a custom search dictionary or the number of rows that are returned as part of a search.
First of all we need to separate 2 types of limitations:
- Boundary A number that can’t be exceeded.
- Supported A recommended number, based on testing that Microsoft has done, that shouldn’t be exceeded. If you don’t respect the supported number it might cause a decrease in performance.
|Limit||Maximum value||Limit type||Notes|
|Size of document that can be downloaded by the crawl components||64 MB, 3MB for Excel documents||Boundary||Search downloads metadata and content from a document until it reaches the maximum document size. The rest of the content is not downloaded.|
|Parsed content size||2 million characters||Boundary||Search stops parsing an item after it has parsed up to 2 million characters of content from it, including the item’s attachments. The actual amount of parsed characters can be lower than this limit because search uses a maximum of 30 seconds on parsing a single item and its attachments. When search stops parsing an item, the item is marked as partially processed. Any unparsed content isn’t processed and therefore isn’t indexed.|
|Tokens produced by the word breaker||30,000||Boundary||Search breaks content into individual words (tokens) and produces up to 30,000 tokens from a single item.
The actual amount of tokens can be lower than this limit because search uses a maximum of 30 seconds on word breaking. Any remaining content isn’t processed.
|Indexed managed property size||512 KB per managed property that is set to either “searchable” or “queryable”||Boundary|
|Retrievable managed property size||16 KB per managed property||Boundary|
|Sortable and refinable managed property size||16 KB per managed property||Boundary|
|Token size||Variable – the size depends on the word breaker, and the word-breaker is language-dependent.||Boundary||Search can index tokens of any length but the word breaker that is used to produce tokens can limit the token length. Word breakers are language-aware components that break content into single words (tokens).|
|Number of entries in a custom search dictionary||5,000 terms per tenant||Boundary||This limits the number of terms allowed for inclusions and exclusions dictionaries for query spelling correction and company extraction. You can store more terms than this limit in the term store, but search only uses 5,000 terms per tenant.|
|Managed property mappings||100 per managed property||Supported||Crawled properties can be mapped to managed properties. Exceeding this limit may decrease crawl speed and query performance.|
|Values per managed property||1,000||Boundary||A managed property can have multiple values of the same type. This is the maximum number of values per managed multi-valued managed property per document. If this number is exceeded, the remaining values are discarded.|
|Unique contexts used for ranking||15 unique contexts per rank model||Boundary|
|Authoritative pages||1 top level and minimal second- and third-level pages per tenant||Supported||Use as few second- and third-level pages as possible while still achieving the desired relevance.
If you add additional pages you may not achieve the desired relevance. Add the key site to the first relevance level. Add more key sites at either second or third relevance levels, one at a time. Evaluate relevance after each addition to ensure that you have achieved the desired relevance effect.
|Text length for queries using Keyword Query Language||4 KB||Boundary||For Discovery queries the maximum text length is 16 KB.|
|Number of rows in a result set||500||Boundary||To display the entire result set, issue more paging queries.
For Discovery queries the maximum number of rows in a result set is 10,000.
|Ranking models||1,000 per tenant||Boundary||Approaching this limit can have negative effect on the overall system performance.|
|User-defined full-text indexes||3||Boundary|