# Vespa documentation > Vespa is a powerful and scalable engine for low-latency computation over large data sets. It is designed for real-time applications that require a combination of search, recommendation, and personalization. Vespa allows developers to build applications that can handle high volumes of queries and data writes while maintaining fast response times. **Key Features** Vespa offers a rich set of features for building sophisticated search and recommendation applications: * **Real-time Indexing and Search:** Vespa provides low-latency CRUD (Create, Read, Update, Delete) operations, making data searchable in milliseconds after being fed. * **Approximate Nearest Neighbor (ANN) Search:** Vespa includes a highly efficient implementation of the HNSW algorithm for fast and accurate vector search, which can be combined with traditional filters. * **Flexible Ranking and Relevance:** Ranking is a first-class citizen in Vespa. It supports complex, multi-phase ranking expressions and can integrate with machine-learned models (e.g., ONNX, TensorFlow, XGBoost, LightGBM) to deliver highly relevant results. * **Scalability and Elasticity:** Vespa is designed to scale horizontally. Content clusters can be grown or shrunk on the fly without service interruptions, and data is automatically redistributed to maintain a balanced load. * **Rich Data Modeling:** Vespa supports a variety of data types, including structured data, unstructured text, and tensors for vector embeddings. It also supports parent-child relationships to model complex data hierarchies. * **Comprehensive Query Language:** Vespa's query language (YQL) allows for a combination of keyword search, structured filtering, and nearest neighbor search in a single query. * **Component-Based Architecture:** Vespa's container clusters host custom Java components (Searchers, Document Processors) that allow for extensive customization of query and data processing pipelines. **Architecture** A Vespa application consists of two main types of clusters: * **Stateless Container Clusters:** These clusters handle incoming queries and data writes. They host application components that process requests and responses, perform query rewriting, and federate to backend services. * **Stateful Content Clusters:** These clusters are responsible for storing, indexing, and searching data. They automatically manage data distribution and redundancy. Vespa's architecture is designed for high availability and fault tolerance. When a node fails, the system automatically re-routes traffic and re-distributes data to maintain service. **Application Package** A Vespa application is defined by an **application package**, which contains all the necessary configuration, schemas, components, and machine-learned models. This self-contained package allows for atomic deployments and ensures consistency between code and configuration. Key files in an application package include: * **`services.xml`**: Defines the services and clusters that make up the application, including their topology and resource allocation. * **`schemas/*.sd`**: Defines the document types, their fields, and how they should be indexed and searched. Rank profiles are also defined within schemas. **APIs and Interfaces** Vespa provides a comprehensive set of APIs for interacting with the system: * **Document API (`/document/v1/`)**: A REST API for performing CRUD operations on documents. * **Query API (`/search/`)**: A powerful API for querying data using YQL, with extensive options for ranking, grouping, and presentation. * **Configuration and Deployment APIs**: REST APIs for deploying application packages and managing system configuration. This overview provides a glimpse into the capabilities of the Vespa Search engine. For more in-depth information, please refer to each of the documentation links below. ## Access Logging - [Access Logging](https://docs.vespa.ai/en/access-logging.html.md): The Vespa access log format allows the logs to be processed by a number of available tools handling JSON based (log) files. ## Admin Procedures - [Administrative Procedures](https://docs.vespa.ai/en/operations-selfhosted/admin-procedures.html.md): Refer to the [multinode-HA](https://github.com/vespa-engine/sample-apps/tree/master/examples/operations/multinode-HA) sample application for a primer on how to set up a cluster - use this as a starting point. ## Api - [Vespa API and interfaces](https://docs.vespa.ai/en/api.html.md): - [Deploy API](reference/deploy-rest-api-v2.html): Deploy [application packages](applications.html) to configure a Vespa application ## Application Packages Reference - [Application Package Reference](https://docs.vespa.ai/en/reference/application-packages-reference.html.md): This is the [application package](../application-packages.html) reference. ## Application V2 Tenant - [/application/v2/tenant API reference](https://docs.vespa.ai/en/reference/application-v2-tenant.html.md): This is the /application/v2/tenant API reference with examples for the HTTP REST API to [list](#list-tenants), [create](#create-tenant) and [delete](#delete-tenant) a tenant, which can be used to [deploy](deploy-rest-api-v2.html) an application. ## Applications - [Vespa applications](https://docs.vespa.ai/en/applications.html.md): You use Vespa by deploying an _application_ to it. ## Approximate Nn Hnsw - [Approximate Nearest Neighbor Search using HNSW Index](https://docs.vespa.ai/en/approximate-nn-hnsw.html.md): For an introduction to nearest neighbor search, see [nearest neighbor search](nearest-neighbor-search.html) documentation, for practical usage of Vespa's nearest neighbor search, see [nearest neighbor search - a practical guide](nearest-neighbor-search-guide.html), and to have Vespa create vectors for you, see [embedding](embedding.html). ## Archive Guide Aws - [AWS Archive guide](https://docs.vespa.ai/en/cloud/archive-guide-aws.html.md): Vespa Cloud exports log data, heap dumps, and Java Flight Recorder sessions to buckets in AWS S3. ## Archive Guide Gcp - [GCP Archive guide](https://docs.vespa.ai/en/cloud/archive-guide-gcp.html.md): Vespa Cloud exports log data, heap dumps, and Java Flight Recorder sessions to buckets in Google Cloud Storage. ## Archive Guide - [Archive guide](https://docs.vespa.ai/en/cloud/archive-guide.html.md): Vespa Cloud exports log data, heap dumps, and Java Flight Recorder sessions to storage buckets. ## Enclave - [Log archive in Vespa Cloud Enclave](https://docs.vespa.ai/en/cloud/enclave/archive.html.md): **Warning:** The structure of log archive buckets may change without notice - [Vespa Cloud Enclave AWS Architecture](https://docs.vespa.ai/en/cloud/enclave/aws-architecture.html.md): Each Enclave in the tenant AWS account corresponds to a Vespa Cloud[zone](https://cloud.vespa.ai/en/reference/zones.html). - [Getting started with Vespa Cloud Enclave in AWS](https://docs.vespa.ai/en/cloud/enclave/aws-getting-started.html.md): Setting up Vespa Cloud Enclave requires: - [Vespa Cloud Enclave](https://docs.vespa.ai/en/cloud/enclave/enclave.html.md): ![enclave architecture](/assets/img/enclave-architecture.png) - [Architecture for Vespa Cloud Enclave in GCP](https://docs.vespa.ai/en/cloud/enclave/gcp-architecture.html.md): Each Enclave in the tenant GCP project corresponds to a Vespa Cloud[zone](https://cloud.vespa.ai/en/reference/zones.html). - [Getting started with Vespa Cloud Enclave in GCP](https://docs.vespa.ai/en/cloud/enclave/gcp-getting-started.html.md): Setting up Vespa Cloud Enclave requires: - [Operations and Support for Vespa Cloud Enclave](https://docs.vespa.ai/en/cloud/enclave/operations.html.md): Vespa Cloud Enclave requires that resources provisioned within the VPC are wholly managed by the Vespa Cloud orchestration services, and must not be manually managed by tenant operations. ## Attributes - [Attributes](https://docs.vespa.ai/en/attributes.html.md): An _attribute_ is a [schema](reference/schema-reference.html#attribute) keyword, specifying the indexing for a field: ## Automated Deployments - [Automated Deployments](https://docs.vespa.ai/en/cloud/automated-deployments.html.md): ![Picture of an automated deployment](/assets/img/automated-deployments-overview.png) ## Autoscaling - [Autoscaling](https://docs.vespa.ai/en/cloud/autoscaling.html.md): Autoscaling lets you adjust the hardware resources allocated to application clusters automatically depending on actual usage. ## Batch Delete - [Batch delete](https://docs.vespa.ai/en/operations/batch-delete.html.md): Options for batch deleting documents: ## Benchmarking - [Benchmarking](https://docs.vespa.ai/en/cloud/benchmarking.html.md): This is a step-by-step guide to get started with benchmarking on Vespa Cloud, based on the [Vespa benchmarking guide](/en/performance/vespa-benchmarking.html), using the [sample app](https://github.com/vespa-engine/sample-apps/tree/master/album-recommendation). ## Binarizing Vectors - [Binarizing Vectors](https://docs.vespa.ai/en/binarizing-vectors.html.md): Binarization in this context is mapping numbers in a vector (embedding) to bits (reducing the value range), and representing the vector of bits efficiently using the `int8` data type. ## Bm25 - [BM25 Reference](https://docs.vespa.ai/en/reference/bm25.html.md): The[bm25 rank feature](rank-features.html#bm25)implements the[Okapi BM25](https://en.wikipedia.org/wiki/Okapi_BM25)ranking function used to estimate the relevance of a text document given a search query. ## Boolean Library - [Predicate Search Java Library](https://docs.vespa.ai/en/boolean-library.html.md): **Important:** The Predicate Search Java Library is **deprecated** for removal in[Vespa 9](vespa9-release-notes.html). ## Buckets - [Buckets](https://docs.vespa.ai/en/content/buckets.html.md): The content layer splits the document space into chunks called _buckets_, and algorithmically maps documents to buckets by their id. ## Build Install Vespa - [Build / install Vespa](https://docs.vespa.ai/en/build-install-vespa.html.md): To develop with Vespa, follow the [guide](https://github.com/vespa-engine/vespa#building) to set up a development environment on AlmaLinux 8 using Docker. ## Bundles - [Bundles](https://docs.vespa.ai/en/components/bundles.html.md): The Container uses [OSGi](https://osgi.org) to provide a modular platform for developing applications that can be composed of many reusable components. ## Caches In Vespa - [Caches](https://docs.vespa.ai/en/performance/caches-in-vespa.html.md): The summary cache caches summary requests and is enabled by [proton tuning configuration](../reference/services-content.html#summary). ## Chained Components - [Chained Components](https://docs.vespa.ai/en/components/chained-components.html.md): [Processors](../jdisc/processing.html), [searcher plug-ins](../searcher-development.html) and [document processors](../document-processing.html) are chained components. ## Chunking Reference - [Chunking Reference](https://docs.vespa.ai/en/reference/chunking-reference.html.md): Reference configuration for _chunkers_: Components that splits text into pieces in[chunk indexing expressions](indexing-language-reference.html#chunk), as in ## Cloning Applications And Data - [Cloning applications and data](https://docs.vespa.ai/en/cloud/cloning-applications-and-data.html.md): This is a guide on how to replicate a Vespa application in different environments, with or without data. ## Cloudconfig Model Plugins - [Developing Cloud Config Model Plugins](https://docs.vespa.ai/en/contributing/cloudconfig-model-plugins.html.md): The Cloud Config System (CCS) provides the ability to write custom plugins to the config model. ## Security - [Using Cloudflare Workers with Vespa Cloud](https://docs.vespa.ai/en/cloud/security/cloudflare-workers.html.md): This guide describes how you can access mutual TLS protected Vespa Cloud endpoints using[Cloudflare Workers](https://workers.cloudflare.com/). - [Security Guide](https://docs.vespa.ai/en/cloud/security/guide.html.md): Vespa Cloud has several security mechanisms it is important for developers to understand. - [Secret Store](https://docs.vespa.ai/en/cloud/security/secret-store.html.md): Vespa Cloud supports secure storage and management of secrets for use in your application. - [Vespa Cloud Security](https://docs.vespa.ai/en/cloud/security/security.html.md): - [**Security Guide**](/en/cloud/security/guide.html) is a practical guide to using the different security features and getting started with them. - [Vespa Cloud Security Whitepaper](https://docs.vespa.ai/en/cloud/security/whitepaper.html.md): _Last updated: 2025-06-04_ ## Cluster V2 - [/cluster/v2 API reference](https://docs.vespa.ai/en/reference/cluster-v2.html.md): The cluster controller has a /cluster/v2 API for viewing and modifying a content cluster state. ## Clustercontroller Metrics Reference - [ClusterController Metrics](https://docs.vespa.ai/en/reference/clustercontroller-metrics-reference.html.md): | Name | Unit | Description | ## Component Reference - [Component Reference](https://docs.vespa.ai/en/reference/component-reference.html.md): A component is any Java class whose lifetime is controlled by the container, see the [Developer Guide](../developer-guide.html) for an introduction. ## Concrete Documents - [Concrete document types](https://docs.vespa.ai/en/concrete-documents.html.md): In [document processing](document-processing.html),`setFieldValue()` and `getFieldValue()`is used to access fields in a `Document`. ## Config Files - [Custom Configuration File Reference](https://docs.vespa.ai/en/reference/config-files.html.md): This is the reference for config file definitions. ## Config Proxy - [Configuration proxy](https://docs.vespa.ai/en/operations-selfhosted/config-proxy.html.md): Read [application packages](/en/application-packages.html) for an overview of the cloud config system. ## Config Rest Api V2 - [Config API](https://docs.vespa.ai/en/reference/config-rest-api-v2.html.md): Vespa provides a REST API for listing and retrieving config - alternatives are the programmatic [C++](../contributing/configapi-dev-cpp.html) or [Java](../contributing/configapi-dev-java.html) APIs. ## Config Sentinel - [Config sentinel](https://docs.vespa.ai/en/operations-selfhosted/config-sentinel.html.md): The config sentinel starts and stops services - and restart failed services unless they are manually stopped. ## Config System - [The Config System](https://docs.vespa.ai/en/config-system.html.md): The config system in Vespa is responsible for turning the application package into live configuration of all the nodes, processes and components that realizes the running system. ## Configapi Dev Cpp - [Using the C++ Cloud config API](https://docs.vespa.ai/en/contributing/configapi-dev-cpp.html.md): This document describes how to use the C++ cloud config API. ## Configapi Dev Java - [Developing with the Java Cloud Config API](https://docs.vespa.ai/en/contributing/configapi-dev-java.html.md): Assumption: a [def file](configapi-dev.html), which is the schema for one of your configs, is created and put in `src/main/resources/configdefinitions/`. ## Configapi Dev - [Cloud Config API](https://docs.vespa.ai/en/contributing/configapi-dev.html.md): This document describes how to use the C++ and Java versions of the Cloud config API (the 'config API'). ## Configserver Metrics Reference - [ConfigServer Metrics](https://docs.vespa.ai/en/reference/configserver-metrics-reference.html.md): | Name | Unit | Description | ## Configuration Server - [Configuration Servers](https://docs.vespa.ai/en/operations-selfhosted/configuration-server.html.md): Vespa Configuration Servers host the endpoint where application packages are deployed - and serves generated configuration to all services - see the [overview](/en/overview.html) and [application packages](/en/application-packages.html) for details. ## Configuring Components - [Configuring Java components](https://docs.vespa.ai/en/configuring-components.html.md): Any Java component might require some sort of configuration, be it simple strings or integers, or more complex structures. ## Consistency - [Vespa Consistency Model](https://docs.vespa.ai/en/content/consistency.html.md): Vespa offers configurable data redundancy with eventual consistency across replicas. ## Constant Tensor Json Format - [Constant Tensor JSON Format](https://docs.vespa.ai/en/reference/constant-tensor-json-format.html.md): This document describes with examples the JSON formats accepted when reading tensor constants from a file. ## Container Components - [Container Components](https://docs.vespa.ai/en/jdisc/container-components.html.md): This document explains the common concepts necessary to develop all types of Container components. ## Container Http - [HTTP Performance Testing of the Container using Gatling](https://docs.vespa.ai/en/performance/container-http.html.md): For container testing, more flexibility and more detailed checking than straightforward saturating an interface with HTTP requests is often required. ## Container Metrics Reference - [Container Metrics](https://docs.vespa.ai/en/reference/container-metrics-reference.html.md): | Name | Unit | Description | ## Container Tuning - [Container Tuning](https://docs.vespa.ai/en/performance/container-tuning.html.md): A collection of configuration parameters to tune the Container as used in Vespa. ## Container - [Container](https://docs.vespa.ai/en/operations-selfhosted/container.html.md): This is the Container service operational guide. ## Content Node Recovery - [Content node recovery](https://docs.vespa.ai/en/operations-selfhosted/content-node-recovery.html.md): In exceptional cases, one or more content nodes may end up with corrupted data causing it to fail to restart. ## Content Nodes - [Content nodes, states and metrics](https://docs.vespa.ai/en/content/content-nodes.html.md): ![Content cluster overview](/assets/img/elastic-feed.svg) ## Contributing - [Contributing to Vespa](https://docs.vespa.ai/en/contributing.html.md): Contributions to [Vespa](http://github.com/vespa-engine/vespa)and the [Vespa documentation](http://github.com/vespa-engine/documentation)are welcome. ## Cpu Support - [CPU Support](https://docs.vespa.ai/en/operations-selfhosted/cpu-support.html.md): For maximum performance, the current version of Vespa for x86\_64 is compiled only for [Haswell (2013)](https://en.wikipedia.org/wiki/Haswell_(microarchitecture)) or later CPUs. ## Cross Encoders - [Ranking With Transformer Cross-Encoder Models](https://docs.vespa.ai/en/cross-encoders.html.md): [Cross-Encoder Transformer](https://blog.vespa.ai/pretrained-transformer-language-models-for-search-part-4/) based text ranking models are generally more effective than [text embedding](embedding.html) models as they take both the query and the document as input with full cross-attention between all the query and document tokens. ## Data Management And Backup - [Data management and backup](https://docs.vespa.ai/en/cloud/data-management-and-backup.html.md): This guide documents how to export data from a Vespa cloud application and how to do mass updates or removals. ## Default Result Format - [Default JSON Result Format](https://docs.vespa.ai/en/reference/default-result-format.html.md): The default Vespa query response format is used when [presentation.format](../reference/query-api-reference.html#presentation.format) is unset or set to `json`. ## Default Set Metrics Reference - [Default Metric Set](https://docs.vespa.ai/en/reference/default-set-metrics-reference.html.md): This document provides reference documentation for the Default metric set, including suffixes present per metric. ## Deleting Applications - [Deleting Applications](https://docs.vespa.ai/en/cloud/deleting-applications.html.md): **Warning:** Following these steps will remove production instances or regions and all data within them. ## Deploy Rest Api V2 - [Deploy API](https://docs.vespa.ai/en/reference/deploy-rest-api-v2.html.md): This is the API specification and some examples for the HTTP Deploy API that can be used to deploy an application: ## Deployment Variants - [Instance, region, cloud and environment variants](https://docs.vespa.ai/en/reference/deployment-variants.html.md): Sometimes it is useful to create configuration that varies depending on properties of the deployment, for example to set region specific endpoints of services used by [Searchers](/en/searcher-development.html), or use smaller clusters for a "beta" instance. ## Deployment - [deployment.xml](https://docs.vespa.ai/en/reference/deployment.html.md): _deployment.xml_ controls how an application is deployed. - [Deployment](https://docs.vespa.ai/en/deployment.html.md): In this document we explain various aspects of application deployment in detail. ## Developer Guide - [Developer Guide](https://docs.vespa.ai/en/developer-guide.html.md): See [getting started](/en/getting-started.html) to deploy a basic sample application, or its Java variant to deploy an application with custom Java components. ## Developing Request Handlers - [Developing request handlers](https://docs.vespa.ai/en/jdisc/developing-request-handlers.html.md): This document explains how to implement and deploy a custom request handler. ## Developing Server Providers - [Developing server providers](https://docs.vespa.ai/en/reference/developing-server-providers.html.md): The [com.yahoo.jdisc.service.ServerProvider](https://javadoc.io/doc/com.yahoo.vespa/jdisc_core/latest/com/yahoo/jdisc/service/ServerProvider.html) interface defines a component that is capable of acting as a server for an external client. ## Developing Web Services - [Developing Web Service Applications](https://docs.vespa.ai/en/developing-web-services.html.md): This document explains how to develop (REST) web service type applications on the container - design options, accessing the request path, returning a status code etc. ## Distributor Metrics Reference - [Distributor Metrics](https://docs.vespa.ai/en/reference/distributor-metrics-reference.html.md): | Name | Unit | Description | ## Docker Containers - [Docker containers](https://docs.vespa.ai/en/operations-selfhosted/docker-containers.html.md): This document describes tuning and adaptions for running Vespa Docker containers, for developer use on laptop, and in production. ## Document Api Guide - [Document API](https://docs.vespa.ai/en/document-api-guide.html.md): This is an introduction to how to build and compile Vespa clients using the Document API. ## Document Field Path - [Document Field Path Syntax](https://docs.vespa.ai/en/reference/document-field-path.html.md): The field path syntax is used several places in Vespa to traverse documents through arrays, structs, maps and sets and generate a set of values matching the expression. ## Document Json Format - [Document JSON Format](https://docs.vespa.ai/en/reference/document-json-format.html.md): This document describes the JSON format used for sending document operations to Vespa. ## Document Processing - [Document Processing](https://docs.vespa.ai/en/document-processing.html.md): This document describes how to develop and deploy _Document Processors_, often called _docproc_ in this documentation. ## Document Select Language - [Document Selector Language](https://docs.vespa.ai/en/reference/document-select-language.html.md): This document describes the _document selector language_, used to select a subset of documents when feeding, dumping and garbage collecting data. ## Document Summaries - [Document Summaries](https://docs.vespa.ai/en/document-summaries.html.md): A _document summary_ is the information that is shown for each document in a query result. ## Document V1 Api Guide - [/document/v1 API guide](https://docs.vespa.ai/en/document-v1-api-guide.html.md): Use the _/document/v1/_ API to read, write, update and delete documents. ## Document V1 Api Reference - [/document/v1 API reference](https://docs.vespa.ai/en/reference/document-v1-api-reference.html.md): This is the /document/v1 API reference documentation. ## Documents - [Documents](https://docs.vespa.ai/en/documents.html.md): Vespa models data as _documents_. ## Elasticity - [Content Cluster Elasticity](https://docs.vespa.ai/en/elasticity.html.md): Vespa clusters can be grown and shrunk while serving queries and writes. ## Embedding Reference - [Embedding Reference](https://docs.vespa.ai/en/reference/embedding-reference.html.md): Reference configuration for [embedders](../embedding.html). ## Embedding - [Embedding](https://docs.vespa.ai/en/embedding.html.md): A common technique is to map unstructured data - say, text or images - to points in an abstract vector space and then do the computation in that space. ## Environments - [Environments](https://docs.vespa.ai/en/cloud/environments.html.md): Vespa Cloud has two kinds of environments: ## Exposing Schema Information - [Exposing schema information](https://docs.vespa.ai/en/exposing-schema-information.html.md): Some applications need to expose information about schemas to data plane clients. ## Faq - [FAQ - frequently asked questions](https://docs.vespa.ai/en/faq.html.md): Refer to [Vespa Support](https://vespa.ai/support) for more support options. ## Feature Tuning - [Vespa Serving Tuning](https://docs.vespa.ai/en/performance/feature-tuning.html.md): This document describes how to tune certain features of an application for high query serving performance, where the main focus is on content cluster search features; see [Container tuning](container-tuning.html) for tuning of container clusters. ## Features - [Features](https://docs.vespa.ai/en/features.html.md): Vespa is a platform for applications which need low-latency computation over large data sets. ## Ja - [Vespaの機能](https://docs.vespa.ai/ja/features.html.md): Vespaはリアルタイムで巨大なデータセットに対して計算を実行・配信するためのエンジンです。 どのような量のデータでも書き込んで保存することができ、典型的には数十ミリ秒で完了するデータに対する膨大なクエリーを実行することができます。 - [Vespaドキュメンテーションの紹介](https://docs.vespa.ai/ja/introduction-to-documentation.html.md): このドキュメンテーションはVespaの利用者、あるいは潜在的な利用者(アプリケーションの所有者 / PM、エンジニアまたは運用者)のためのものです。 このドキュメンテーションはプロダクトの概念上の概要をカバーしており、それには背景的な理論や、プロダクトがなぜそのように開発されたかの説明が含まれています。 これは開発者が最初に使う機能の詳しい説明に続きます。 - [Vespaの概要](https://docs.vespa.ai/ja/overview.html.md): Vespaはスケーラブルで低レイテンシな、ステートフルあるいはステートレスなバックエンドサービスを簡単に開発して稼働させることができるプラットフォームです。 このドキュメントではプラットフォームの機能と主なコンポーネントの概要を説明します。 - [Dockerを使ったVespaのクイック・スタート](https://docs.vespa.ai/ja/vespa-quick-start.html.md): このガイドではDockerを使って1台のマシン上にVespaをインストールして起動する方法を説明します。 ## Federation - [Federation](https://docs.vespa.ai/en/federation.html.md): ![Federation example](/assets/img/federation-simple.svg) ## Feed Block - [Feed block](https://docs.vespa.ai/en/operations/feed-block.html.md): A content cluster blocks external write operations when at least one content node has reached the [resource limit](../reference/services-content.html#resource-limits) of disk or memory. ## Files Processes And Ports - [Files, Processes, Ports, Environment](https://docs.vespa.ai/en/operations-selfhosted/files-processes-and-ports.html.md): This is a reference of directories used in a Vespa installation, processes that run on the Vespa nodes and ports / environment variables used. ## Geo Search - [Geo Search](https://docs.vespa.ai/en/geo-search.html.md): To model a geographical position in documents, use a field where the type is [position](reference/schema-reference.html#position) for a single, required position. ## Getting Started Java - [Getting started, including Java development](https://docs.vespa.ai/en/cloud/getting-started-java.html.md): This lets you deploy an application to the [dev zone](environments.html#dev)on Vespa Cloud for free. ## Getting Started Ranking - [Getting started with ranking](https://docs.vespa.ai/en/getting-started-ranking.html.md): Learn how [ranking](ranking.html) works in Vespa by using the open [query API](query-api.html) of[vespa-documentation-search](https://github.com/vespa-cloud/vespa-documentation-search). ## Getting Started Shell - [Getting Started (without Vespa CLI)](https://docs.vespa.ai/en/cloud/getting-started-shell.html.md): This lets you deploy an application to the [dev zone](environments.html#dev)on Vespa Cloud for free. ## Getting Started - [Getting Started](https://docs.vespa.ai/en/cloud/getting-started.html.md): This lets you deploy an application to the [dev zone](environments.html#dev)on Vespa Cloud for free. - [Getting Started](https://docs.vespa.ai/en/getting-started.html.md): Welcome to Vespa, the open big data serving engine! Here you'll find resources for getting started. ## Glossary - [Glossary](https://docs.vespa.ai/en/glossary.html.md): This is a glossary of both Vespa-specific terminology, and general terms useful in this context. ## Graceful Degradation - [Graceful Query Coverage Degradation](https://docs.vespa.ai/en/graceful-degradation.html.md): Ideally one want to query all data indexed in a Vespa cluster within the specified timeout, but that might not be possible for different reasons: ## Grouping Syntax - [Grouping Reference](https://docs.vespa.ai/en/reference/grouping-syntax.html.md): Read the [Vespa grouping guide](../grouping.html) first, for examples and an introduction to grouping - this is the Vespa grouping reference. ## Grouping - [Grouping Information in Results](https://docs.vespa.ai/en/grouping.html.md): Try running requests on the [grouping example data](https://github.com/vespa-engine/sample-apps/blob/master/examples/part-purchases-demo/ext/feed.jsonl): ## Healthchecks - [Healthchecks](https://docs.vespa.ai/en/reference/healthchecks.html.md): This is the reference for loadbalancer healthchecks to [containers](../jdisc). ## Hosts - [hosts.xml](https://docs.vespa.ai/en/reference/hosts.html.md): _hosts.xml_ is a configuration file in an [application package](../application-packages.html). ## Http Api Tutorial - [Building an HTTP API using request handlers and processors](https://docs.vespa.ai/en/jdisc/http-api-tutorial.html.md): This tutorial builds a simple application consisting of these pieces: ## Http Best Practices - [HTTP Best Practices](https://docs.vespa.ai/en/cloud/http-best-practices.html.md): As connections to a JDisc container cluster are terminated at the individual container nodes, the cost of connection overhead will impact their serving capability. ## Http Server And Filters - [Configuring Http Servers and Filters](https://docs.vespa.ai/en/jdisc/http-server-and-filters.html.md): This document explains how to set up http servers and filters in the Container. ## Http2 - [HTTP/2](https://docs.vespa.ai/en/performance/http2.html.md): This document contains HTTP/2 performance considerations on the container—see [Container tuning](container-tuning.html) for general tuning of container clusters. ## Hybrid Search - [Hybrid Text Search Tutorial](https://docs.vespa.ai/en/tutorials/hybrid-search.html.md): Hybrid search combines different retrieval methods to improve search quality. ## Ide Support - [IDE support](https://docs.vespa.ai/en/ide-support.html.md): Vespa provides plugins for working with schemas and rank profiles in IDE's: ## Idealstate - [Distribution Algorithm](https://docs.vespa.ai/en/content/idealstate.html.md): The distribution algorithm decides what nodes should be responsible for a given bucket. ## Index Bootstrap - [Index bootstrap](https://docs.vespa.ai/en/cloud/index-bootstrap.html.md): When bootstrapping an index, one must consider node resource configuration and number of nodes. ## Jdisc - [Java Data Intensive Serving Container - JDisc](https://docs.vespa.ai/en/jdisc/index.html.md): Vespa's Java container - JDisc, hosts all application components as well as the stateless logic of Vespa itself. ## Performance - [Performance](https://docs.vespa.ai/en/performance/index.html.md): See [practical search performance guide](practical-search-performance-guide.html). ## Root - [Vespa documentation](https://docs.vespa.ai/index.html.md): Welcome to the Vespa documentation site! ## Tutorials - [Tutorials](https://docs.vespa.ai/en/tutorials/index.html.md): The [News Search Tutorial](news-1-getting-started.html) is a set of articles to explore Vespa features. ## Indexing Language Reference - [Indexing Language Reference](https://docs.vespa.ai/en/reference/indexing-language-reference.html.md): This reference documents the full Vespa _indexing language_. ## Indexing Paged Vectors - [Indexing paged vectors](https://docs.vespa.ai/en/indexing-paged-vectors.html.md): Most of the data of a vector (tensor) index is the vectors themselves. ## Indexing - [Indexing](https://docs.vespa.ai/en/indexing.html.md): Refer to the [overview](overview.html). ## Inheritance In Schemas - [Inheritance in schemas](https://docs.vespa.ai/en/inheritance-in-schemas.html.md): Both document types and full schemas can be inherited to make it easy to design a structured application package with little duplication. ## Injecting Components - [Component Injection](https://docs.vespa.ai/en/jdisc/injecting-components.html.md): The Container (a.k.a. ## Inspecting Structured Data - [Inspecting structured data in a Searcher](https://docs.vespa.ai/en/reference/inspecting-structured-data.html.md): The [Data Access API](https://javadoc.io/doc/com.yahoo.vespa/vespajlib/latest/com/yahoo/data/access/package-summary.html) is used to access structured data such as arrays and weighted sets. ## Internal Config Files - [Internal Configuration File Reference](https://docs.vespa.ai/en/reference/internal-config-files.html.md): This reference describes the configuration file format used by Vespa internally. ## Introduction To Documentation - [Documentation Conventions](https://docs.vespa.ai/en/introduction-to-documentation.html.md): This documentation is for users of Vespa, or potential users - being application owners / PMs, engineers or operators. ## Lightgbm - [Ranking with LightGBM Models](https://docs.vespa.ai/en/lightgbm.html.md): [LightGBM](https://github.com/microsoft/LightGBM) is a gradient boosting framework, similar to [XGBoost](xgboost.html). ## Linguistics - [Linguistics in Vespa](https://docs.vespa.ai/en/linguistics.html.md): Vespa uses a _linguistics_ module to process text in queries and documents during indexing and searching. ## Live Upgrade - [Live-upgrading Vespa](https://docs.vespa.ai/en/operations-selfhosted/live-upgrade.html.md): This document describes how to live upgrade a Vespa instance. ## Llm Help - [Getting help from LLMs](https://docs.vespa.ai/en/llm-help.html.md): This page describes some of the ways that you can get help from large language models (LLMs) when developing a Vespa application. ## Llms Document Enrichment - [Document enrichment with LLMs](https://docs.vespa.ai/en/llms-document-enrichment.html.md): Document enrichment enables automatic generation of document field values using large language models (LLMs) or custom code during feeding. ## Llms External - [External LLMs in Vespa](https://docs.vespa.ai/en/llms-external.html.md): Please refer to [Large Language Models in Vespa](llms-in-vespa.html) for an introduction to using LLMs in Vespa. ## Llms In Vespa - [Large Language Models in Vespa](https://docs.vespa.ai/en/llms-in-vespa.html.md): Large Language Models (LLMs) are AI systems that generate human-like text, supporting a variety of applications like chatbots and content generation. ## Llms Local - [Running LLMs inside your Vespa application](https://docs.vespa.ai/en/llms-local.html.md): Please refer to [Large Language Models in Vespa](llms-in-vespa.html) for an introduction to using LLMs in Vespa. ## Llms Rag - [Retrieval-augmented generation (RAG) in Vespa](https://docs.vespa.ai/en/llms-rag.html.md): Please refer to [Large Language Models in Vespa](llms-in-vespa.html) for an introduction to using LLMs in Vespa. ## Logd Metrics Reference - [Logd Metrics](https://docs.vespa.ai/en/reference/logd-metrics-reference.html.md): | Name | Unit | Description | ## Logs - [Log Files](https://docs.vespa.ai/en/reference/logs.html.md): All Vespa components use a common log module for logging. ## Low Level Request Handlers - [Low-level request handler APIs](https://docs.vespa.ai/en/reference/low-level-request-handlers.html.md): This document describes the low-level request handler APIs in Jdisc. ## Lucene Linguistics - [Lucene Linguistics](https://docs.vespa.ai/en/lucene-linguistics.html.md): Lucene Linguistics is a custom [linguistics](linguistics.html) implementation of the [Apache Lucene](https://lucene.apache.org) library. ## Memory Visualizer - [Memory Visualizer](https://docs.vespa.ai/en/cloud/memory-visualizer.html.md): The [schema](/en/schemas.html) defines fields, types of fields and settings per field, e.g. ## Metrics Reference - [Metrics Reference](https://docs.vespa.ai/en/reference/metrics-reference.html.md): Each metric have one of the types documented [here](unit-metrics-reference.html). ## Metrics V1 - [/metrics/v1 API reference](https://docs.vespa.ai/en/reference/metrics-v1.html.md): The _node metrics API_ is available on each _node_ at the metrics proxy port, default _http://host:19092/metrics/v1/values_. ## Metrics V2 - [/metrics/v2 API reference](https://docs.vespa.ai/en/reference/metrics-v2.html.md): The _application metrics API_ is available on each _node_ at the metrics proxy port, default _http://host:19092/metrics/v2/values_. ## Metrics - [Metrics](https://docs.vespa.ai/en/operations/metrics.html.md): Metrics for all nodes is aggregated using _[/metrics/v2/values](../reference/metrics-v2.html#metrics-v2-values)_ or _[/prometheus/v1/values](../reference/prometheus-v1.html#prometheus-v1-values)_. ## Migrating From Elastic Search To Vespa - [Migrating from Elasticsearch](https://docs.vespa.ai/en/cloud/migrating-from-elastic-search-to-vespa.html.md): This is a guide for how to move data from Elasticsearch to Vespa. ## Migrating To Cloud - [Migrating to Vespa Cloud](https://docs.vespa.ai/en/cloud/migrating-to-cloud.html.md): Migrating a Vespa application to Vespa Cloud is straightforward, as applications on Vespa Cloud supports all the same features as your self-hosted Vespa instances, you're just gaining some new capabilities and avoid the operational work. ## Model Hub - [Using machine-learned models from Vespa Cloud](https://docs.vespa.ai/en/cloud/model-hub.html.md): Vespa Cloud provides a set of machine-learned models that you can use in your applications. ## Models Hot Swap - [Models hot swap tutorial](https://docs.vespa.ai/en/tutorials/models-hot-swap.html.md): This tutorial builds on the [news recommendation tutorial](news-1-getting-started.html). ## Monitoring - [Monitoring](https://docs.vespa.ai/en/cloud/monitoring.html.md): ![Sample Vespa Console dashboard](/assets/img/grafana-metrics.png) - [Monitoring](https://docs.vespa.ai/en/operations-selfhosted/monitoring.html.md): Vespa provides metrics integration with CloudWatch, Datadog and Prometheus / Grafana, as well as a JSON HTTP API. ## Mtls - [Mutually authenticated TLS (mTLS) reference](https://docs.vespa.ai/en/reference/mtls.html.md): **Note:** See [Securing a self-hosted Vespa application with mutually authenticated TLS (mTLS)](/en/operations-selfhosted/mtls.html) for a practical guide. - [Securing Vespa with mutually authenticated TLS (mTLS)](https://docs.vespa.ai/en/operations-selfhosted/mtls.html.md): **Note:** This document is relevant for **self-hosted Vespa** only. ## Multinode Systems - [Multinode systems](https://docs.vespa.ai/en/operations-selfhosted/multinode-systems.html.md): A Vespa _system_ consists of one or more stateless and stateful clusters configured by an application package. ## Multivalue Query Operators - [Multivalue Query Operators](https://docs.vespa.ai/en/multivalue-query-operators.html.md): This article is a followup to the [ranking introduction](ranking.html). ## Nativerank - [nativeRank Reference](https://docs.vespa.ai/en/reference/nativerank.html.md): The _nativeRank_ feature produces a reasonable text ranking score which is computed at an acceptable performance, and is a good candidate for [first phase](../phased-ranking.html) ranking. - [Ranking With nativeRank](https://docs.vespa.ai/en/nativerank.html.md): The _nativeRank_ text match score is a reasonably good text feature score which is computed at an acceptable performance by Vespa. ## Nearest Neighbor Search Guide - [Vespa nearest neighbor search - a practical guide](https://docs.vespa.ai/en/nearest-neighbor-search-guide.html.md): This guide is a practical introduction to using Vespa nearest neighbor search query operator and how to combine nearest neighbor search with other Vespa query operators. ## Nearest Neighbor Search - [Nearest Neighbor Search](https://docs.vespa.ai/en/nearest-neighbor-search.html.md): Nearest neighbor search, or vector search, is a technique used to find the closest data points to a given query point in a high-dimensional vector space. ## News 1 Getting Started - [News search and recommendation tutorial - getting started on Docker](https://docs.vespa.ai/en/tutorials/news-1-getting-started.html.md): Our goal with this series is to set up a Vespa application for personalized news recommendations. ## News 2 Basic Feeding And Query - [News search and recommendation tutorial - applications, feeding and querying](https://docs.vespa.ai/en/tutorials/news-2-basic-feeding-and-query.html.md): This is the second part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## News 3 Searching - [News search and recommendation tutorial - searching](https://docs.vespa.ai/en/tutorials/news-3-searching.html.md): This is the third part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## News 4 Embeddings - [News search and recommendation tutorial - embeddings](https://docs.vespa.ai/en/tutorials/news-4-embeddings.html.md): This is the fourth part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## News 5 Recommendation - [News search and recommendation tutorial - recommendations](https://docs.vespa.ai/en/tutorials/news-5-recommendation.html.md): This is the fifth part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## News 6 Recommendation With Searchers - [News search and recommendation tutorial - Searchers](https://docs.vespa.ai/en/tutorials/news-6-recommendation-with-searchers.html.md): This is the sixth part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## News 7 Recommendation With Parent Child - [News Recommendation Tutorial - parent child and tensor ranking](https://docs.vespa.ai/en/tutorials/news-7-recommendation-with-parent-child.html.md): This is the seventh part of the tutorial series for setting up a Vespa application for personalized news recommendations. ## Node Resources - [Node Resources](https://docs.vespa.ai/en/cloud/node-resources.html.md): This guide goes through the following aspects of node resource configuration: ## Node Setup - [Node and network setup](https://docs.vespa.ai/en/operations-selfhosted/node-setup.html.md): Vespa is composed of services that communicate and interact with each other. ## Nodeadmin Metrics Reference - [NodeAdmin Metrics](https://docs.vespa.ai/en/reference/nodeadmin-metrics-reference.html.md): | Name | Unit | Description | ## Notifications - [Notifications](https://docs.vespa.ai/en/cloud/notifications.html.md): Vespa Cloud supports two different categories of notifications. ## Onnx - [Ranking With ONNX Models](https://docs.vespa.ai/en/onnx.html.md): Vespa supports advanced ranking models through its tensor API. ## Overview - [Vespa Overview](https://docs.vespa.ai/en/overview.html.md): Vespa is a platform for applications which need low-latency computation over large data sets. ## Page Result Format - [The Vespa Search API - Page result format](https://docs.vespa.ai/en/reference/page-result-format.html.md): This document describes the `page` result format returned by Vespa. ## Page Templates Syntax - [Page Templates Syntax](https://docs.vespa.ai/en/reference/page-templates-syntax.html.md): This document is a reference to the elements of the Page Template XML format. ## Page Templates - [Page Templates](https://docs.vespa.ai/en/page-templates.html.md): When multiple kinds of data is fetched for a request, the application must decide how to lay out the data to return to the user._Page templates_ allows such page layouts to be defined as XML configuration files - one file per layout, corresponding to one use case. ## Parent Child - [Parent/Child](https://docs.vespa.ai/en/parent-child.html.md): Using [document references](reference/schema-reference.html#reference), documents can have parent/child relationships. ## Partial Updates - [Partial Updates](https://docs.vespa.ai/en/partial-updates.html.md): A partial update is an update to one or more fields in a document. ## Phased Ranking - [Phased Ranking](https://docs.vespa.ai/en/phased-ranking.html.md): Vespa allows expressing multiphased retrieval and ranking of documents. ## Pluggable Frameworks - [Using Libraries for Pluggable Frameworks](https://docs.vespa.ai/en/jdisc/pluggable-frameworks.html.md): Many libraries provide pluggable architectures via Service Provider Interfaces (SPI). ## Practical Search Performance Guide - [Vespa query performance - a practical guide](https://docs.vespa.ai/en/performance/practical-search-performance-guide.html.md): This is a practical Vespa query performance guide. ## Predicate Fields - [Predicate Fields](https://docs.vespa.ai/en/predicate-fields.html.md): _[Predicate](reference/schema-reference.html#predicate) fields_provides a way to match queries to a set of _boolean constraints_ given in the document. ## Private Endpoints - [Private endpoints](https://docs.vespa.ai/en/cloud/private-endpoints.html.md): Vespa Cloud lets you set up private endpoint services on your application clusters, for exclusive access from your own, co-located VPCs with the same cloud provider. ## Procedure Change Attribute Index - [Procedure: Change from attribute to index](https://docs.vespa.ai/en/operations-selfhosted/procedure-change-attribute-index.html.md): Changing between `index` and `attribute` is a common field change operation to optimize performance. ## Processing - [Request-Response Processing](https://docs.vespa.ai/en/jdisc/processing.html.md): _Processing_ makes it easy to create low-latency request/response processing applications. ## Production Deployment - [Production Deployment](https://docs.vespa.ai/en/cloud/production-deployment.html.md): Production zones enable serving from various locations, with a [CI/CD pipeline](/en/cloud/automated-deployments) for safe deployments. ## Profiling - [Profiling](https://docs.vespa.ai/en/performance/profiling.html.md): Guidelines when profiling: ## Prometheus V1 - [/prometheus/v1 API reference](https://docs.vespa.ai/en/reference/prometheus-v1.html.md): The _prometheus node metrics API_ is available on each _node_ at the metrics proxy port, default _http://host:19092/prometheus/v1/values_. ## Proton - [Proton](https://docs.vespa.ai/en/proton.html.md): Proton is Vespa's search core and runs on each content node as the _vespa-proton-bin_ process. ## Query Api Reference - [Query API Reference](https://docs.vespa.ai/en/reference/query-api-reference.html.md): Refer to the [Query API guide](../query-api.html) for API examples. ## Query Api - [Query API](https://docs.vespa.ai/en/query-api.html.md): Use the Vespa Query API to query, rank and organize data. ## Query Language Reference - [YQL Query Language Reference](https://docs.vespa.ai/en/reference/query-language-reference.html.md): Vespa accepts unstructured human input and structured queries for application logic separately, then combines them into a single data structure for executing. ## Query Language - [Vespa Query Language - YQL](https://docs.vespa.ai/en/query-language.html.md): Vespa accepts unstructured human input and structured queries for application logic separately, then combines them into a single data structure for executing. ## Query Profile Reference - [Query Profile Reference](https://docs.vespa.ai/en/reference/query-profile-reference.html.md): This is a reference to the full format of [Query Profile](#query-profiles) and[Query Profile Type](#query-profile-types) configuration files. ## Query Profiles - [Query Profiles](https://docs.vespa.ai/en/query-profiles.html.md): A Query Profile is a named collection of search request parameters given in the configuration. ## Query Rewriting - [Query Rewriting](https://docs.vespa.ai/en/query-rewriting.html.md): A search application can improve the quality by interpreting the intended meaning of the user queries. ## Querying - [Querying](https://docs.vespa.ai/en/querying.html.md): An introduction to querying with Vespa. ## Rag Blueprint - [RAG Blueprint](https://docs.vespa.ai/en/tutorials/rag-blueprint.html.md): Many of our users use Vespa to power large scale RAG Applications. ## Rank Feature Configuration - [Rank Feature Configuration](https://docs.vespa.ai/en/reference/rank-feature-configuration.html.md): For some [rank features](rank-features.html), it is possible to set configuration variables for how the features are calculated. ## Rank Features - [Rank Feature Reference](https://docs.vespa.ai/en/reference/rank-features.html.md): This is the list of the rank features in Vespa. ## Rank Types - [Rank Types](https://docs.vespa.ai/en/reference/rank-types.html.md): This document presents the [rank-types](schema-reference.html#rank-type) that are supported by nativeRank and the main ranking features that are controlled through the use of them. ## Ranking Expressions Features - [Ranking Expressions and Features](https://docs.vespa.ai/en/ranking-expressions-features.html.md): Read the [ranking introduction](ranking.html) first. ## Ranking Expressions - [Ranking Expressions](https://docs.vespa.ai/en/reference/ranking-expressions.html.md): This is a complete reference to the _ranking expressions_ used to configure application specific ranking functions. ## Ranking - [Ranking](https://docs.vespa.ai/en/ranking.html.md): _Ranking_ in Vespa is the computation that is done on matching documents during query execution. ## Rate Limiting Searcher - [Rate Limiting Search Requests](https://docs.vespa.ai/en/performance/rate-limiting-searcher.html.md): To avoid overloading a Vespa content cluster or to limit query load from e.g. ## Reads And Writes - [Reads and writes](https://docs.vespa.ai/en/reads-and-writes.html.md): This guide covers the aspects of accessing [documents](documents.html) in Vespa. ## Reindexing - [Reindexing](https://docs.vespa.ai/en/operations/reindexing.html.md): When the indexing pipeline of a Vespa application changes, Vespa may automatically refeed stored data such that the index is updated according to the new specification. ## Releases - [Releases](https://docs.vespa.ai/en/releases.html.md): Vespa is released every Monday through Thursday. ## Reranking In Searcher - [Re-ranking using a custom Searcher](https://docs.vespa.ai/en/reranking-in-searcher.html.md): This guide demonstrates how to deploy a [stateless searcher](searcher-development.html) implementing a last stage of [phased ranking](phased-ranking.html). ## Result Diversity - [Result Diversity](https://docs.vespa.ai/en/result-diversity.html.md): In Search and Recommendation applications, the highest-ranking documents are displayed to the user. ## Result Rendering - [Result Renderers](https://docs.vespa.ai/en/result-rendering.html.md): Vespa provides a default JSON format for query results. ## Routing - [Routing and endpoints](https://docs.vespa.ai/en/cloud/routing.html.md): Vespa Cloud supports multiple methods of routing requests to an application. - [Routing](https://docs.vespa.ai/en/operations-selfhosted/routing.html.md): _Routing_ is used to configure the paths that documents and updates written to Vespa take through the system. ## Schema Reference - [Schema Reference](https://docs.vespa.ai/en/reference/schema-reference.html.md): This reference documents the syntax and content of schemas, document types, and fields. ## Schemas - [Schemas](https://docs.vespa.ai/en/schemas.html.md): This is an introduction to schemas in Vespa. ## Search - [search](https://docs.vespa.ai/search.html.md) ## Search_beta - [search_beta](https://docs.vespa.ai/search_beta.html.md) ## Searcher Development - [Searcher Development](https://docs.vespa.ai/en/searcher-development.html.md): The _Container_ is the home for all global processing of user actions (represented as queries) and their results. ## Searching Multi Valued Fields - [Searching and ranking of multivalued fields](https://docs.vespa.ai/en/searching-multi-valued-fields.html.md): This guide explores how to search and rank over structured multivalued fields, how one can build a query retrieval strategy. ## Searchnode Metrics Reference - [SearchNode Metrics](https://docs.vespa.ai/en/reference/searchnode-metrics-reference.html.md): | Name | Unit | Description | ## Securing Your Vespa Installation - [Securing a Vespa Installation](https://docs.vespa.ai/en/operations-selfhosted/securing-your-vespa-installation.html.md): **Note:** This document is only relevant for **self-hosting Vespa** as Vespa Cloud does this for you. ## Select Reference - [Select Query Reference](https://docs.vespa.ai/en/reference/select-reference.html.md): This document describes what the `select` parameter is and gives a few examples on how to use it. ## Semantic Rules - [Semantic Rule Language Reference](https://docs.vespa.ai/en/reference/semantic-rules.html.md): This is the reference for the semantic rule language in Vespa. ## Sentinel Metrics Reference - [Sentinel Metrics](https://docs.vespa.ai/en/reference/sentinel-metrics-reference.html.md): | Name | Unit | Description | ## Server Tutorial - [Server Tutorial](https://docs.vespa.ai/en/jdisc/server-tutorial.html.md): How to run an arbitrary server in the Container. ## Services Admin - [services.xml - 'admin'](https://docs.vespa.ai/en/reference/services-admin.html.md): Reference documentation for `` in [services.xml](services.html). ## Services Container - [services.xml - container](https://docs.vespa.ai/en/reference/services-container.html.md): This is the reference for the container cluster configuration in [services.xml](services.html). ## Services Content - [services.xml - 'content'](https://docs.vespa.ai/en/reference/services-content.html.md): ``` ## Services Docproc - [services.xml - document-processing](https://docs.vespa.ai/en/reference/services-docproc.html.md): This is the [document-processing](../document-processing.html)reference in [services.xml](services.html): ## Services Http - [services.xml - http](https://docs.vespa.ai/en/reference/services-http.html.md): This is the reference for the `http` subelement of[container](services-container.html) in [services.xml](services.html). ## Services Processing - [services.xml - processing](https://docs.vespa.ai/en/reference/services-processing.html.md): This document explains the syntax and semantics of the `processing` subelement of the [`container`](services-container.html) part of `services.xml`. ## Services Search - [services.xml - 'search'](https://docs.vespa.ai/en/reference/services-search.html.md): This is the reference for the _search_ part of the container config. ## Services - [services.xml](https://docs.vespa.ai/en/reference/services.html.md): _services.xml_ specifies the clusters an application should have and their capabilities. ## Significance - [Significance Model](https://docs.vespa.ai/en/significance.html.md): _Significance_ is a measure of how rare a term is in a collection of documents. ## Simple Query Language Reference - [Simple Query Language Reference](https://docs.vespa.ai/en/reference/simple-query-language-reference.html.md): The _simple query language_ allows application end users to issue more complex queries than a list of tokens. ## Sitemap - [Table of contents](https://docs.vespa.ai/sitemap.html.md): - [Deploy your first application](/en/cloud/getting-started.html) ## Sizing Examples - [Vespa Scaling Configuration Examples](https://docs.vespa.ai/en/performance/sizing-examples.html.md): This guide has a set of example configurations for content clusters using flat or grouped data distribution. ## Sizing Feeding - [Vespa Feed Sizing Guide](https://docs.vespa.ai/en/performance/sizing-feeding.html.md): Vespa is optimized to sustain a high feed load while serving - also during planned and unplanned changes to the instance. ## Sizing Search - [Vespa Serving Scaling Guide](https://docs.vespa.ai/en/performance/sizing-search.html.md): _Vespa can scale in multiple scaling dimensions:_ ## Slobrok Metrics Reference - [Slobrok Metrics](https://docs.vespa.ai/en/reference/slobrok-metrics-reference.html.md): | Name | Unit | Description | ## Slobrok - [Service location broker - slobrok](https://docs.vespa.ai/en/operations-selfhosted/slobrok.html.md): Slobrok is an acronym for _Service Location Broker_, and it is a name service used in Vespa. ## Sorting - [Sorting Reference](https://docs.vespa.ai/en/reference/sorting.html.md): A sorting specification in a query consists of one or more sorting expressions. ## State V1 - [/state/v1 API reference](https://docs.vespa.ai/en/reference/state-v1.html.md): Every service exposes the `/state/v1` API - use [vespa-model-inspect](/en/operations-selfhosted/vespa-cmdline-tools.html#vespa-model-inspect) to find ports, see the [multinode-HA](https://github.com/vespa-engine/sample-apps/tree/master/examples/operations/multinode-HA) sample application for practical examples. ## Stateless Model Evaluation - [Stateless Model Evaluation](https://docs.vespa.ai/en/stateless-model-evaluation.html.md): Vespa's speciality is evaluating machine-learned models quickly over large numbers of data points. ## Stateless Model Reference - [Stateless model reference](https://docs.vespa.ai/en/reference/stateless-model-reference.html.md): _.model_ files are used in[stateless model evaluation](../stateless-model-evaluation.html). ## Storage Metrics Reference - [Storage Metrics](https://docs.vespa.ai/en/reference/storage-metrics-reference.html.md): | Name | Unit | Description | ## Streaming Search - [Streaming Search](https://docs.vespa.ai/en/streaming-search.html.md): Search engines make queries fast by creating indexes over the stored data. ## String Segment Match - [String Segment Match](https://docs.vespa.ai/en/reference/string-segment-match.html.md): The **string segment match** algorithm computes a set of metrics - the **string segment match metrics** - intended to capture all the information about how well a _query_ string matches a_field_ string, which is useful for document ranking in search, from the limited information usually available during matching in search engines. ## Structs - [Structs](https://docs.vespa.ai/en/structs.html.md): This document explains how to use structs in Vespa documents. ## Tenant Apps Instances - [Tenants, Applications and Instances](https://docs.vespa.ai/en/cloud/tenant-apps-instances.html.md): When registering for Vespa Cloud, a _tenant_ is created. ## Tensor Examples - [Tensor Computation Examples](https://docs.vespa.ai/en/tensor-examples.html.md): Tensors can be used to express machine-learned models such as neural nets, but they can be used for much more than that. ## Tensor User Guide - [Tensor Guide](https://docs.vespa.ai/en/tensor-user-guide.html.md): Vespa provides a _tensor_ data model and computation engine to support advanced computations over data. ## Tensor - [Tensor Reference](https://docs.vespa.ai/en/reference/tensor.html.md): A tensor is a set of named _dimensions_ defining its _order_ and a set of values located in the space of those dimensions: ## Tensorflow - [Ranking with TensorFlow Models](https://docs.vespa.ai/en/tensorflow.html.md): Vespa can import TensorFlow models converted to the ONNX format. ## Testing Java - [Testing with Java JUnit tests](https://docs.vespa.ai/en/reference/testing-java.html.md): This is the Vespa Testing reference for [Vespa application system tests](../testing.html) written in Java, as JUnit 5 unit test. ## Testing - [Basic HTTP testing](https://docs.vespa.ai/en/reference/testing.html.md): This is the Vespa Testing reference for basic HTTP tests, used to write [Vespa application system tests](../testing.html). - [Vespa testing](https://docs.vespa.ai/en/testing.html.md): A system tests suite is an invaluable tool both when developing and maintaining a complex Vespa application. ## Text Matching - [Text Matching](https://docs.vespa.ai/en/text-matching.html.md): This guide demonstrates tokenization, linguistic processing and matching over [string](reference/schema-reference.html#string) fields in Vespa. ## Text Search Ml - [Improving Text Search through ML](https://docs.vespa.ai/en/tutorials/text-search-ml.html.md): At this point, we assume you have read our [Text Search Tutorial](text-search.html) and accomplished the following steps. ## Text Search - [Text Search Tutorial](https://docs.vespa.ai/en/tutorials/text-search.html.md): This tutorial will guide you through setting up a simple text search application. ## Tools - [Tools](https://docs.vespa.ai/en/operations/tools.html.md): This is the command-line tools reference for various Vespa use cases. ## Topology And Resizing - [Topology and Resizing](https://docs.vespa.ai/en/cloud/topology-and-resizing.html.md): Vespa has features to optimize cost, query latency and throughput, at the same time making tradeoffs for availability. ## Troubleshooting Encoding - [Troubleshooting character encoding](https://docs.vespa.ai/en/troubleshooting-encoding.html.md): This document helps recognize the most common problems related to Unicode and I18N. ## Unit Metrics Reference - [Metric Units Reference](https://docs.vespa.ai/en/reference/unit-metrics-reference.html.md): | Unit | Description | ## Unit Testing - [Testing](https://docs.vespa.ai/en/unit-testing.html.md): See [automated deployments](https://cloud.vespa.ai/en/automated-deployments.html)for how to implement system, staging and production verification tests using Vespa Cloud. ## Use Case Shopping - [Use Case - shopping](https://docs.vespa.ai/en/use-case-shopping.html.md): The [e-commerce, or shopping, use case](https://github.com/vespa-engine/sample-apps/tree/master/use-case-shopping)is an example of an e-commerce site complete with sample data and a web front end to browse product data and reviews. ## Using Kubernetes With Vespa - [Using Kubernetes with Vespa](https://docs.vespa.ai/en/operations-selfhosted/using-kubernetes-with-vespa.html.md): This article outlines how to run Vespa using Kubernetes. ## Using Wand With Vespa - [Accelerated OR search using the WAND algorithm](https://docs.vespa.ai/en/using-wand-with-vespa.html.md): This document describes how to use the Weak And algorithm for accelerated OR like search. ## Using Zookeeper - [Using ZooKeeper](https://docs.vespa.ai/en/using-zookeeper.html.md): The Vespa container supports [ZooKeeper](https://zookeeper.apache.org/), which allows distributed synchronization across nodes in a container cluster. ## Valgrind - [Using Valgrind with Vespa](https://docs.vespa.ai/en/performance/valgrind.html.md): Valgrind is a useful tool to investigate bugs, and to get a detailed performance profile of an application after [profiling](profiling.html) to get the higher level picture. ## Validation Overrides - [validation-overrides.xml](https://docs.vespa.ai/en/reference/validation-overrides.html.md): _validation-overrides.xml_ is added to the root of an [application package](application-packages-reference.html) (i.e. ## Vector Search - [Vector Search](https://docs.vespa.ai/en/vector-search.html.md): Vector Search is a method to search objects using a digital representation of both the query and the objects - easier explained by example: ## Vespa Benchmarking - [Vespa Benchmarking](https://docs.vespa.ai/en/performance/vespa-benchmarking.html.md): Benchmarking a Vespa application is essential to get an idea of how well the test configuration performs. ## Vespa Cli - [Vespa CLI](https://docs.vespa.ai/en/vespa-cli.html.md): Vespa CLI is the command-line client for Vespa. - [vespa](https://docs.vespa.ai/en/reference/vespa-cli/vespa.html.md): The command-line tool for Vespa.ai - [vespa activate](https://docs.vespa.ai/en/reference/vespa-cli/vespa_activate.html.md): Activate (deploy) a previously prepared application package - [vespa auth](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth.html.md): Manage Vespa Cloud credentials - [vespa auth api-key](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_api-key.html.md): Create a new developer key for headless authentication with Vespa Cloud control plane - [vespa auth cert](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_cert.html.md): Create a new self-signed certificate for authentication with Vespa Cloud data plane - [vespa auth cert add](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_cert_add.html.md): Add certificate to application package - [vespa auth login](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_login.html.md): Authenticate Vespa CLI with Vespa Cloud control plane. - [vespa auth logout](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_logout.html.md): Sign out of Vespa Cloud - [vespa auth show](https://docs.vespa.ai/en/reference/vespa-cli/vespa_auth_show.html.md): Show authenticated user - [vespa clone](https://docs.vespa.ai/en/reference/vespa-cli/vespa_clone.html.md): Create files and directory structure from a Vespa sample application - [vespa completion](https://docs.vespa.ai/en/reference/vespa-cli/vespa_completion.html.md): Generate the autocompletion script for the specified shell - [vespa completion bash](https://docs.vespa.ai/en/reference/vespa-cli/vespa_completion_bash.html.md): Generate the autocompletion script for bash - [vespa completion fish](https://docs.vespa.ai/en/reference/vespa-cli/vespa_completion_fish.html.md): Generate the autocompletion script for fish - [vespa completion powershell](https://docs.vespa.ai/en/reference/vespa-cli/vespa_completion_powershell.html.md): Generate the autocompletion script for powershell - [vespa completion zsh](https://docs.vespa.ai/en/reference/vespa-cli/vespa_completion_zsh.html.md): Generate the autocompletion script for zsh - [vespa config](https://docs.vespa.ai/en/reference/vespa-cli/vespa_config.html.md): Manage persistent values for global flags - [vespa config get](https://docs.vespa.ai/en/reference/vespa-cli/vespa_config_get.html.md): Show given configuration option, or all configuration options - [vespa config set](https://docs.vespa.ai/en/reference/vespa-cli/vespa_config_set.html.md): Set a configuration option. - [vespa config unset](https://docs.vespa.ai/en/reference/vespa-cli/vespa_config_unset.html.md): Unset a configuration option. - [vespa curl](https://docs.vespa.ai/en/reference/vespa-cli/vespa_curl.html.md): Access Vespa directly using curl - [vespa deploy](https://docs.vespa.ai/en/reference/vespa-cli/vespa_deploy.html.md): Deploy (prepare and activate) an application package - [vespa destroy](https://docs.vespa.ai/en/reference/vespa-cli/vespa_destroy.html.md): Remove a deployed Vespa application and its data - [vespa document](https://docs.vespa.ai/en/reference/vespa-cli/vespa_document.html.md): Issue a single document operation to Vespa - [vespa document get](https://docs.vespa.ai/en/reference/vespa-cli/vespa_document_get.html.md): Gets one or more documents - [vespa document put](https://docs.vespa.ai/en/reference/vespa-cli/vespa_document_put.html.md): Writes a document to Vespa - [vespa document remove](https://docs.vespa.ai/en/reference/vespa-cli/vespa_document_remove.html.md): Removes a document from Vespa - [vespa document update](https://docs.vespa.ai/en/reference/vespa-cli/vespa_document_update.html.md): Modifies some fields of an existing document - [vespa feed](https://docs.vespa.ai/en/reference/vespa-cli/vespa_feed.html.md): Feed multiple document operations to Vespa - [vespa fetch](https://docs.vespa.ai/en/reference/vespa-cli/vespa_fetch.html.md): Download a deployed application package - [vespa inspect](https://docs.vespa.ai/en/reference/vespa-cli/vespa_inspect.html.md): Provides insight - [vespa inspect profile](https://docs.vespa.ai/en/reference/vespa-cli/vespa_inspect_profile.html.md): Inspect profiling results - [vespa log](https://docs.vespa.ai/en/reference/vespa-cli/vespa_log.html.md): Show the Vespa log - [vespa prepare](https://docs.vespa.ai/en/reference/vespa-cli/vespa_prepare.html.md): Prepare an application package for activation - [vespa prod](https://docs.vespa.ai/en/reference/vespa-cli/vespa_prod.html.md): Deploy an application package to production in Vespa Cloud - [vespa prod deploy](https://docs.vespa.ai/en/reference/vespa-cli/vespa_prod_deploy.html.md): Deploy an application to production - [vespa prod init](https://docs.vespa.ai/en/reference/vespa-cli/vespa_prod_init.html.md): Modify service.xml and deployment.xml for production deployment - [vespa query](https://docs.vespa.ai/en/reference/vespa-cli/vespa_query.html.md): Issue a query to Vespa - [vespa status](https://docs.vespa.ai/en/reference/vespa-cli/vespa_status.html.md): Show Vespa endpoints and status - [vespa status deploy](https://docs.vespa.ai/en/reference/vespa-cli/vespa_status_deploy.html.md): Show status of the Vespa deploy service - [vespa status deployment](https://docs.vespa.ai/en/reference/vespa-cli/vespa_status_deployment.html.md): Show status of a Vespa deployment - [vespa status document](https://docs.vespa.ai/en/reference/vespa-cli/vespa_status_document.html.md): * * * - [vespa status query](https://docs.vespa.ai/en/reference/vespa-cli/vespa_status_query.html.md): * * * - [vespa test](https://docs.vespa.ai/en/reference/vespa-cli/vespa_test.html.md): Run a test suite, or a single test - [vespa version](https://docs.vespa.ai/en/reference/vespa-cli/vespa_version.html.md): Show current CLI version and check for updates - [vespa visit](https://docs.vespa.ai/en/reference/vespa-cli/vespa_visit.html.md): Retrieve and print all documents from Vespa ## Vespa Cmdline Tools - [Vespa Command-line Tools](https://docs.vespa.ai/en/operations-selfhosted/vespa-cmdline-tools.html.md): This is the reference for the Vespa command-line tools. ## Vespa Feed Client - [vespa-feed-client](https://docs.vespa.ai/en/vespa-feed-client.html.md): - Java library and command line client for feeding document operations using [Document v1](document-v1-api-guide.html) over [HTTP/2](performance/http2.html). ## Vespa Gpu Container - [Container GPU setup](https://docs.vespa.ai/en/operations-selfhosted/vespa-gpu-container.html.md): Vespa supports using GPUs to evaluate ONNX models, as part of its [stateless model evaluation feature](/en/stateless-model-evaluation.html). ## Vespa Quick Start Java - [Quick Start, with Java, using Docker](https://docs.vespa.ai/en/vespa-quick-start-java.html.md): This guide shows how to install and run Vespa on a single machine using Docker - it builds and deploys an application, feeds some data and issues queries. ## Vespa Quick Start - [Quick Start, using Docker](https://docs.vespa.ai/en/vespa-quick-start.html.md): This guide shows how to install and run Vespa on a single machine using Docker - it deploys an application, feeds some data and issues queries. ## Vespa Set Metrics Reference - [Vespa Metric Set](https://docs.vespa.ai/en/reference/vespa-set-metrics-reference.html.md): This document provides reference documentation for the Vespa metric set, including suffixes present per metric. ## Vespa7 Release Notes - [Vespa 7 Release Notes](https://docs.vespa.ai/en/vespa7-release-notes.html.md): These notes documents the changes between Vespa major versions 6 and 7. ## Vespa8 Geo Migration Guide - [Position fields - Vespa 8 migration](https://docs.vespa.ai/en/vespa8-geo-migration-guide.html.md): Refer to [Vespa 8 release notes](vespa8-release-notes.html) - this is a guide on how to migrate from Vespa 7 to Vespa 8 when using position fields. ## Vespa8 Release Notes - [Vespa 8 Release Notes](https://docs.vespa.ai/en/vespa8-release-notes.html.md): This document lists the changes between Vespa major versions 7 and 8. ## Vespa9 Release Notes - [Vespa 9 Release Notes](https://docs.vespa.ai/en/vespa9-release-notes.html.md): This document lists the changes between Vespa major versions 8 and 9. ## Vespaignore - [.vespaignore](https://docs.vespa.ai/en/reference/vespaignore.html.md): When deploying an [application package](../application-packages.html) with [Vespa CLI](/en/vespa-cli.html), a `.vespaignore` file (similar to `.gitignore`) can be added to the package to prevent specific files or path patterns from being included in the deployed package. ## Visiting - [Visiting](https://docs.vespa.ai/en/visiting.html.md): Visiting is a feature to efficiently get or process a set of documents, identified by a [document selection expression](reference/document-select-language.html). ## Working With Chunks - [Working with chunks](https://docs.vespa.ai/en/working-with-chunks.html.md): A key technique in RAG applications, and vector search applications in general, is to split longer text into chunks. ## Writing - [Writing](https://docs.vespa.ai/en/writing.html.md): This is an introduction to writing data into Vespa. ## Xgboost - [Ranking with XGBoost Models](https://docs.vespa.ai/en/xgboost.html.md): Vespa supports importing Gradient Boosting Decision Tree (GBDT) models trained with XGBoost. ## Zones - [Zones](https://docs.vespa.ai/en/cloud/zones.html.md): An application is deployed to a _zone_, which is a combination of an [environment](/en/cloud/environments.html) and a _region_, like `vespa deploy -z dev.aws-us-east-1c`.