---
schema_version: "1"
id: 6dfb01e704fa09a7b3bcb5da67845994547d53b0421439b0374ce30234d7ddee
title: Search Architecture
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-large-data-volumes-bp/guides/cce/ldv-deployments/ldv-deployments-concepts-search-architecture.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-large-data-volumes-bp/guide/ldv-deployments-concepts-search-architecture.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 41376f25d55f7db4aa48cdd07ed560442509712cdd2d3c1fd2e2480735cada9e
products:
  - Best Practices for Deployments with Large Data Volumes
  - Platform Developer Content
---

# Search Architecture

*Search* is the capability to query records based on free-form text. The Salesforce search architecture is based on its own data store, which is optimized for searching for that text.

Salesforce provides search capabilities in many areas of the application, including:

-   The sidebar
-   Advanced and global searches
-   Find boxes and lookup fields
-   Suggested Solutions and Knowledge Base
-   Web-to-Lead and Web-to-Case
-   Duplicate lead processing
-   Salesforce Object Search Language (SOSL) for Apex and the API

For data to be searched, it must first be indexed. The indexes are created using the search indexing servers, which also generate and asynchronously process queue entries of newly created or modified data. After a searchable object’s record is created or updated, it could take about 15 minutes or more for the updated text to become searchable.

Salesforce performs indexed searches by first searching the indexes for appropriate records, then narrowing down the results based on access permissions, search limits, and other filters. This process creates a *result set*, which typically contains the most relevant results. After the result set reaches a predetermined size, the remaining records are discarded. The result set is then used to query the records from the database to retrieve the fields that a user sees.

**tip:** Search can also be accessed with SOSL, which in turn can be invoked using the API or Apex.

