> ## Documentation Index
> Fetch the complete documentation index at: https://algolia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Understand the basics

> Core concepts for building with Algolia: indices, records, attributes, and events.


This page introduces the core concepts used throughout Algolia.
Understanding these terms helps you structure your data, configure relevance, and build search experiences.

## Index

An index is a collection of records optimized for fast retrieval.
It's the searchable representation of your data.

An index contains:

* **Records.** The data you want to make searchable and return as results
* **Settings.** Configuration that controls matching, ranking, and filtering
* **Rules.** Conditional logic for overriding default behavior in specific situations
* **Synonyms.** Equivalences between terms, so a search for "laptop" also matches "notebook"

The same index can power multiple experiences,
such as search results, recommendations, or AI-assisted retrieval,
without duplicating data.

A typical implementation uses several indices, for example,
one per content type or ranking strategy.

For more information, see [Send and manage your data](/doc/guides/sending-and-managing-data/prepare-your-data).

## Record

A record is an object stored in an index and returned as a result.
Records are typically JSON objects with fields called **attributes**.

```json JSON icon=braces theme={"system"}
{
  "objectID": "prod-42",
  "title": "Trail Running Shoes",
  "brand": "Salomon",
  "category": "Footwear",
  "price": 129.99,
  "in_stock": true
}
```

Records are schemaless.
Algolia doesn't require a predefined structure,
but consistent shapes make indexing and UI development easier.

Every record must include an `objectID`,
which uniquely identifies it within an index.

## Attribute

An attribute is a named field in a record,
such as `title`, `category`, or `price`.

Attributes determine:

* **What users can search,** through searchable attributes in your index settings
* **How results are ranked,** for example by popularity or rating
* **What users can filter on,** when configured as facets
* **What you display** in your UI

Choosing the right attributes and configuring them correctly is one of the most impactful things you can do for relevance.

## Query

A query is the text a user enters to search.
Your app sends it to Algolia, which matches it against the searchable attributes in your index and returns ranked results.

## Facet

A facet is an attribute used to let users filter and refine results, such as category, brand, price range, or rating.

Facets are configured in your index settings and exposed in your UI as interactive filters.

When a user selects a facet value, Algolia returns only the records that match.

To learn more, see [Facets](/doc/guides/managing-results/refine-results/faceting).

## Relevance and ranking

Relevance determines which records match a query and in what order they appear.

Algolia combines:

* **Textual relevance.** Matching based on searchable attributes, synonyms, and typo tolerance
* **Ranking criteria.** A sequence of criteria in your ranking formula, such as Typo, Words, Proximity, Attribute, and Exact.

You can also add **custom ranking**, such as popularity or sales, to promote more relevant results.

For more information, see [Relevance overview](/doc/guides/managing-results/relevance-overview).

## Event

An event captures a user interaction with your search experience, such as a click on a result or a completed conversion.

You send events from your UI to Algolia.
They power:

* Analytics
* Personalization
* Recommendations
* AI-based ranking improvements

Events help you improve search quality based on user behavior.
The earlier you start sending events, the more interaction data is available for analytics, personalization, and recommendations.

For details, see [Click and conversion events](/doc/guides/sending-events/getting-started).

## API key

Every request to Algolia must be authenticated with an API key.

The main types are:

* **Search API key.** Read-only key for search requests. Safe to use in frontend code.
* **Write API key.** Key with permissions for indexing operations. Keep it private and use it only in your backend.
* **Admin API key.** Key with full access to your Algolia application.
  Keep it private and use it only to create more restricted API keys.

For more information, see [API keys](/doc/guides/security/api-keys).

## Ready to build?

Build your first search experience in the [Quickstart](/doc/guides/get-started/quickstart).

For more terms and their definitions, see the [Glossary](/doc/glossary).
