Skip to main content

Querying in Azure AI Search

Azure AI Search supports a broad range of query constructs for different scenarios, from free-form text search to vector similarity search.

Query Types

Full-Text SearchTraditional keyword-based search:
  • BM25 relevance ranking
  • Tokenization and analysis
  • Fast inverted index scans
{
  "search": "luxury hotel",
  "searchFields": "title,description"
}

Query Components

Search Parameters

  • search: Full-text query string
  • searchFields: Fields to search (optional)
  • searchMode: any (OR) or all (AND)
  • queryType: simple or full Lucene

Filters

  • filter: OData filter expression
  • facets: Generate category counts
  • orderby: Sort expression

Result Control

  • select: Fields to return
  • top: Maximum results
  • skip: Pagination offset
  • count: Include total count

Autocomplete and Suggestions

Type-ahead query experiences:
{
  "autocomplete": "hot",
  "suggesterName": "sg",
  "searchFields": "hotelName"
}
Returns: Completed terms like “hotel”, “hotels” Location-based filtering:
{
  "filter": "geo.distance(location, geography'POINT(-122.12 47.67)') le 10"
}
Functions:
  • geo.distance: Distance between points
  • geo.intersects: Point within polygon

Advanced Query Features

Fuzzy Search

Handle typos with edit distance matching

Fielded Search

Target specific fields with Lucene syntax

Proximity Search

Find terms near each other in documents

Term Boosting

Increase relevance of specific terms

Query Syntax

Simple Syntax

Default, intuitive syntax:
luxury hotel AND (spa OR pool) -airport
"ocean view"
hotel*

Full Lucene Syntax

Advanced operators and expressions:
title:luxury^2 description:beachfront
name:/[mh]otel/
"ocean view"~5
seatle~
Enable with "queryType": "full"

Result Ranking

BM25 Scoring

Default relevance algorithm:
  • Term frequency (TF)
  • Inverse document frequency (IDF)
  • Field length normalization

Vector Similarity

For vector queries:
  • Cosine similarity (default)
  • Euclidean distance
  • Dot product

RRF (Hybrid)

Reciprocal Rank Fusion for hybrid queries:
score = Σ 1/(k + rank)

Query Example

Complete hybrid query with filters:
{
  "search": "luxury beachfront hotel",
  "searchFields": "hotelName,description",
  "filter": "rating ge 4.5 and priceRange eq 'high'",
  "orderby": "rating desc",
  "select": "hotelId,hotelName,description,rating",
  "vectorQueries": [
    {
      "kind": "vector",
      "vector": [-0.009, 0.018, ...],
      "fields": "descriptionVector",
      "k": 50
    }
  ],
  "queryType": "semantic",
  "semanticConfiguration": "my-semantic-config",
  "top": 10,
  "count": true
}

Next Steps

Full-Text Queries

Master keyword search syntax

Vector Queries

Execute vector similarity searches

Query Examples

View more query patterns

Build docs developers (and LLMs) love