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

# Glossary

> Terminology and definitions used throughout Refine

## A

<AccordionGroup>
  <Accordion title="Anchor ID">
    The product ID used as the reference point for similar item recommendations. In `refine.recs.similarItems({ anchorId: 'sku_001' })`, the anchor is `sku_001`.
  </Accordion>

  <Accordion title="API Key">
    Authentication credential for the Refine API. Obtained from the dashboard. Keep it secret in production environments.
  </Accordion>
</AccordionGroup>

## C

<AccordionGroup>
  <Accordion title="Catalog">
    A collection of products that share a search index. Contains product data, images, and visual embeddings. Identified by a unique `catalogId`.
  </Accordion>

  <Accordion title="Config ID">
    Identifier for a recommendation configuration created in the dashboard. Defines which recommendation strategy and parameters to use.
  </Accordion>

  <Accordion title="Conversion">
    A purchase event tracked via `trackPurchase()`. Links back to the original search or recommendation that led to the sale.
  </Accordion>
</AccordionGroup>

## E

<AccordionGroup>
  <Accordion title="Embedding">
    A numerical vector representation of a product's visual features. Generated automatically when products are ingested. Powers visual similarity matching.
  </Accordion>

  <Accordion title="Event">
    A tracked user interaction: impression, click, view, add-to-cart, or purchase. Events power analytics and recommendation improvements.
  </Accordion>
</AccordionGroup>

## F

<AccordionGroup>
  <Accordion title="Filter">
    A constraint applied to search or recommendation results. Uses operators like `eq`, `gt`, `in` to match product fields.

    ```typescript theme={null}
    { field: 'price', operator: 'lte', value: 100 }
    ```
  </Accordion>

  <Accordion title="Filter Operators">
    Available operators for filters:

    * `eq` — equals
    * `ne` — not equals
    * `gt` / `gte` — greater than / greater than or equal
    * `lt` / `lte` — less than / less than or equal
    * `in` / `nin` — in array / not in array
    * `exists` — field exists
    * `match` — text matching
  </Accordion>

  <Accordion title="Flush">
    Force-send all queued events immediately. Called via `refine.events.flush()`. Useful before page unload.
  </Accordion>
</AccordionGroup>

## I

<AccordionGroup>
  <Accordion title="Identify">
    Link a visitor to a known user account via `refine.identify('user_id')`. Enables user-based recommendations and cross-session tracking.
  </Accordion>

  <Accordion title="Image Search">
    Search by uploading an image instead of typing text. Finds products visually similar to the uploaded image.
  </Accordion>

  <Accordion title="Impression">
    When a product is served in search results or recommendations, regardless of whether it was viewed.
  </Accordion>
</AccordionGroup>

## M

<AccordionGroup>
  <Accordion title="Metadata">
    Custom fields on a product beyond standard fields (title, price, image). Stored as key-value pairs, filterable via `metadata.fieldName`.
  </Accordion>
</AccordionGroup>

## O

<AccordionGroup>
  <Accordion title="Organization ID">
    Unique identifier for your Refine organization. Contains multiple catalogs and users. Required for SDK initialization.
  </Accordion>
</AccordionGroup>

## P

<AccordionGroup>
  <Accordion title="PLP (Product Listing Page)">
    A curated collection of products, often used for category pages. Supports pinned products and intelligent ranking.
  </Accordion>

  <Accordion title="Plugin">
    SDK extension that adds functionality. Built-in plugins include `DebugPlugin`, `ConsentPlugin`, and `AutoTrackPlugin`.
  </Accordion>

  <Accordion title="Position">
    Zero-indexed location of a product in search results or recommendations. Used in event tracking for click attribution.
  </Accordion>
</AccordionGroup>

## R

<AccordionGroup>
  <Accordion title="Recommendation">
    AI-generated product suggestions. Types include similar items, visitor-based, and user-based recommendations.
  </Accordion>

  <Accordion title="Retryable Error">
    An error that may succeed if retried. Includes `RefineRateLimitError`, `RefineTimeoutError`, `RefineServerError`, and `RefineNetworkError`.
  </Accordion>
</AccordionGroup>

## S

<AccordionGroup>
  <Accordion title="Serve Context">
    Object returned when tracking served items. Contains methods like `trackClick()`, `trackView()`, and `trackAddToCart()` for subsequent interactions.
  </Accordion>

  <Accordion title="Serve ID">
    Unique identifier for a single serve event (search results or recommendations). Links impressions to subsequent interactions.
  </Accordion>

  <Accordion title="Session ID">
    Auto-generated identifier for a browsing session. Expires after 30 minutes of inactivity. Retrieved via `refine.getSessionId()`.
  </Accordion>

  <Accordion title="Similar Items">
    Recommendation type that finds products visually and contextually similar to a specified anchor product.
  </Accordion>

  <Accordion title="Source">
    How products were generated (e.g., `text-search`, `image-search`, `similar-items`). Used in event tracking.
  </Accordion>

  <Accordion title="Surface">
    Where products are displayed in the UI (e.g., `search_results`, `product_page`, `home_page`). Used in event tracking.
  </Accordion>
</AccordionGroup>

## T

<AccordionGroup>
  <Accordion title="Text Search">
    Search using natural language queries. Combines semantic text understanding with visual similarity matching.
  </Accordion>

  <Accordion title="topK">
    The number of results to return from a search or recommendation request. Common values: 8-48.
  </Accordion>

  <Accordion title="Total Results">
    The total number of matching products, not limited by `topK`. Useful for pagination UI ("Showing 24 of 1,847 results").
  </Accordion>
</AccordionGroup>

## V

<AccordionGroup>
  <Accordion title="View">
    When a product becomes visible to the user (enters the viewport). Tracked via `context.trackView()`.
  </Accordion>

  <Accordion title="Visitor ID">
    Auto-generated identifier for an anonymous visitor. Persisted in localStorage. Retrieved via `refine.getVisitorId()`.
  </Accordion>

  <Accordion title="Visual Weight">
    Parameter (0.0-1.0) controlling the balance between text and visual search. `0.0` = pure text, `1.0` = pure visual, `0.3` = default.
  </Accordion>
</AccordionGroup>

## U

<AccordionGroup>
  <Accordion title="User ID">
    Your application's identifier for a logged-in user. Set via `refine.identify('user_id')`. Enables personalized recommendations.
  </Accordion>

  <Accordion title="User Recommendations">
    Personalized suggestions for identified (logged-in) users based on their full history across sessions and devices.
  </Accordion>
</AccordionGroup>
