Search This Blog

Tuesday, 27 January 2026

Quickstart: Full-text search in Azure AI Search (Portal)

🌐 Introduction: Why Azure AI Search Exists

Modern companies accumulate massive amounts of information:

  • internal documents
  • PDFs, Word, PowerPoint
  • emails
  • SQL databases
  • support tickets
  • knowledge bases
  • website content
  • logs
  • product data

The real challenge is finding the right information at the right moment.
Traditional search systems (SQL LIKE, Elasticsearch, SharePoint Search…) rely on:

  • exact keywords
  • literal matching
  • rigid filters
  • no semantic understanding

But users want to ask natural questions like:

“Which hotels in New York allow pets and have a gym”
“Show me internal documents about migrating to Azure”
“What incidents are similar to yesterday’s outage”

This is where Azure AI Search becomes essential.


πŸ” Azure AI Search: The Modern Search Engine for Enterprise AI

Azure AI Search is a fully managed cloud search engine designed to:

  • index structured and unstructured data
  • perform full‑text search (like Elasticsearch)
  • perform vector search (like Pinecone)
  • combine both with hybrid search
  • use semantic ranking to understand meaning
  • integrate seamlessly into RAG (Retrieval‑Augmented Generation) systems

It is a core building block for modern AI architectures.


🧩 How Azure AI Search Fits Into a Retrieval Augmented Generation System

A typical RAG pipeline has four components:

  1. Ingestion
    Collect documents (PDFs, emails, websites, databases…).

  2. Indexing
    Azure AI Search transforms them into:

    • searchable text
    • structured fields
    • vector embeddings
    • filterable metadata
  3. Retrieval
    When a user asks a question, Azure AI Search:

    • matches keywords
    • understands meaning (semantic search)
    • compares vectors
    • returns the most relevant passages
  4. Generation
    Azure OpenAI (or another LLM) uses these passages to produce a grounded, accurate answer.

Azure AI Search is therefore the retrieval brain of the entire system.


πŸ—️ Let's Start With a Simple Example


In this simple tutorial, we will:
  • create an Azure AI Search Service
  • Create a Storage Account and store a jsonl file in a container
  • Import the json file data into the Azure AI Search Service
  • Perform requests using the Azure Search Service

🧱 Step 1 — Create an Azure AI Search Service

  1. Go to the Subscription where you want to create your Azure AI Service Search → Create a resource
  2. Resource: Azure AI Search
  3. Region: choose one close to you
  4. Pricing tier: Free (F1)
  5. Create the service

This will be your search engine.


πŸ“¦ Step 2 — Create a Storage Account and Upload a Simple JSONL File

  1. Create a Storage Account
  2. Go to Containers, Click "Storage Browser" in the left pane, then, Blob Containers in the left menu of the landing page, or the square for Blob Containers.
  3. Create a container named aisearchdata
  4. Upload a file named hotels.jsonl:
Paste the following jsonl code in a file and name it hotels.jsonl
⚠️ Important: 2026/01/26 — The following format: json, json array, does not work well within the current version of the AI Search Portal and the keyword import data (new) that is very new. Only json lines format seems to work for now. 

{"hotelId":"1","name":"Hotel Azure","city":"Paris","rating":4.5,"price":180,"amenities":["wifi","gym","spa"],"description":"A modern hotel close to the city center with excellent connectivity."}
{"hotelId":"2","name":"Cloud Inn","city":"London","rating":3.8,"price":120,"amenities":["wifi"],"description":"Affordable hotel hotelIdeal for business travelers."}
{"hotelId":"3","name":"AI Suites","city":"Paris","rating":5.0,"price":320,"amenities":["wifi","spa","pool"],"description":"Luxury suites with premium services and AI-powered concierge."}
⚠️ Important — Do not name your key field id when using the “Keyword search” wizard. The wizard automatically creates a system id field (non-editable) from blob metadata. If your JSON also contains an id field, Azure will throw “Target field name must be unique”. Use a different name instead, such as hotelId, documentId, etc.

Then, upload the file into the previously created blob container.

πŸ—️ Step 3 — Create a Simple Index in Azure AI Search

  1. In your Search service → Import data (new)

    Go back to your Azure AI Search Service and click "Import Data (new)
  2. Source: Azure Blob Storage

  3. Select Azure Blob Storage
    then select Keyword.
    You will find your Storage Account, blob container references in the drop down menu. Choose Json Lines as a format.
  4. Field configuration:

    Then, pass the pages Apply AI Enrichment, and you land on the "Preview Index Fields" page:
    Now, for each field, we have to set the field types.
So, in the next section let's explain how to set the types :

🧠 Understanding Each Field Type

πŸ”‘ 1. key — Unique Identifier

FieldPurpose
idUnique identifier. Required. Only one field can be key=true.
Without id, indexing is impossible.

πŸ” 2. searchable — Full‑Text Search

FieldWhy
nameAllows searching for “Azure”, “Cloud”, etc.
descriptionLong text, ideal for full‑text search.
Azure AI Search tokenizes, normalizes, and analyzes these fields.

πŸ“€ 3. retrievable — Returned in Results

These fields appear in the search response:

  • name
  • city
  • price
  • rating
  • amenities
  • description
If retrievable=false, the field can still be filtered or sorted but will not appear in results.

πŸ”Ž 4. filterable — Used in Filters

FieldWhy
cityFilter by city.
priceFilter by price.
ratingFilter by rating.
amenitiesFilter by “wifi”, “spa”, etc.
$filter=city eq 'Paris' and price lt 200

πŸ“Š 5. facetable — For UI Facets

FieldWhy
cityShow “Paris (2), London (1)”
amenitiesShow “wifi (3), spa (2), pool (1)”
ratingGroup by rating

↕️ 6. sortable — Sorting Results

FieldWhy
priceSort from cheapest to most expensive.
ratingSort from highest to lowest rating.
$orderby=price asc

🧱 Summary

Each field type plays a specific role:

  • searchable: used to understand the query
  • filterable: used to restrict results
  • sortable: used to order results
  • facetable: used to build dynamic filters
  • retrievable: returned in the response
  • key: unique identifier
In the next section, we set the fields for our example:

Setting the fields for our example

πŸ”‘ id

PropertyValueWhy
key✔️Required unique identifier.
searchableNot text to analyze.
filterable✔️Useful to retrieve a specific document.
sortableNo business value sorting by id.
facetableNot relevant for grouping.
retrievable✔️Returned in results.

🏨 name

PropertyValueWhy
searchable✔️Allows searching “Azure”, “Cloud”…
filterableNot used for filtering.
sortableNo meaningful sorting.
facetableNot useful.
retrievable✔️Displayed in results.

🌍 city

PropertyValueWhy
searchableNo linguistic analysis needed.
filterable✔️Filter by city.
sortable✔️Sort by city.
facetable✔️Create facets “Paris (2)”.
retrievable✔️Displayed in results.

⭐ rating

PropertyValueWhy
searchableNot text.
filterable✔️Filter by rating.
sortable✔️Sort highest to lowest.
facetable✔️Group by rating.
retrievable✔️Displayed in results.

πŸ’Ά price

PropertyValueWhy
searchableNot text.
filterable✔️Filter by price.
sortable✔️Sort low to high.
facetable✔️Create price ranges.
retrievable✔️Displayed in results.

πŸ›Ž️ amenities

PropertyValueWhy
searchableThese are tags, not free text.
filterable✔️Filter by “wifi”, “spa”…
sortableNot meaningful.
facetable✔️Create facets “wifi (3)”.
retrievable✔️Displayed in results.

πŸ“ description

PropertyValueWhy
searchable✔️Long text → ideal for full‑text search.
filterableNot used for filtering.
sortableNo meaningful sorting.
facetableNot useful.
retrievable✔️Displayed in results.
So, use the previous tables to properly set the fields:
then, pass through the next screens

πŸ”Ž Time to test

You can now perform your first full-text search request:

Quickstart: Full-text search in Azure AI Search (Portal)

🌐 Introduction: Why Azure AI Search Exists Modern companies accumulate massive amounts of information: internal documents PDFs, Word, P...