---
title: Search Service
description: The <em>Search Service</em> supports the creation of specially
  purposed indexes for <em>Full Text Search</em>.
pubDate: 2026-08-17T09:53:44.266Z
antora:
  editUrl: https://github.com/couchbase/docs-server/edit/release/7.6/modules/learn/pages/services-and-indexes/services/search-service.adoc
  xref: xref:7.6@server:learn:services-and-indexes/services/search-service.adoc[]
---

[Consult the llms.txt file for a full list of contents](/llms.txt)
[View original HTML](/server/7.6/learn/services-and-indexes/services/search-service.html)

# Search Service

> The _Search Service_ supports the creation of specially purposed indexes for _Full Text Search_. 

## [](#understanding-search)Understanding Search

The _Search_ Service provides extensive capabilities for search engine-like querying. These capabilities include, but are not limited to:

* _Language-aware_ searching; allowing users to search for, say, the word `beauties`, and additionally obtain results for `beauty` and `beautiful`.
* _Scoring_ of results, according to relevancy; allowing users to obtain result-sets that only contain documents awarded the highest scores. This keeps result-sets manageably small, even when the total number of documents returned is extremely large.
* _Fast indexes_, which support a wide range of possible text-searches.
* _Geospatial_ queries, to return documents that contain a specified geographic location.
* _Range_ searches, including numeric range and date range queries.
* _Fuzzy_ matches, _regular expression_ searches, and _wildcard_ searches.

The indexes that the Search Service creates and uses are entirely separate from and different to those of the Index Service. However, if the Index and Query Services are also deployed on the cluster, the facilities of the Search Service can be called on by means of SQL++ — which provides the principal interface to the Query and Index Services. See [Accessing the Search Service with SQL++](#search%5Fvia%5Fquery), below.

## [](#search-service-architecture)Search Service Architecture

The Search Service depends on the Data Service, as follows:

![searchServiceArchitecture2](../../_images/services-and-indexes/services/searchServiceArchitecture2.png) 

The shows the following:

* The _Data Service_ uses the DCP protocol to stream data-mutations as batches; from the producer to multiple consumers (_vBuckets_), instantiated across the search nodes.
* When a _search index_ is created by means of the _Search Service_, search-index data-handling for the vBuckets is divided equally among the established search-index partitions. For example, if the number of vBuckets is 120, and the number of search-index partitions chosen is 6, each search-index partition holds data for 20 vbuckets.

All available Search Service nodes in the cluster are individually searchable. When one particular Search Service node is chosen for a search request, it assumes the role of _coordinator_; and is thereby responsible for applying the search request to the other Search Service nodes, and for gathering and returning results. The following illustration depicts this _scatter-gather_ execution of a search request:

![searchServiceOperation](../../_images/services-and-indexes/services/searchServiceOperation.png) 

This illustration shows how:

* The application makes a search request to a specific Search Service node (here, _Node 1_). This node assumes the role of coordinator.
* The coordinator scatters the search request to all other search-index partitions (here, _Node 2_ and _Node 3_) in the cluster.
* Once all the returned data is gathered, the coordinator applies filters as appropriate, and returns the final results to the user.

For extensive information on how to use the service, see [Full Text Search: Fundamentals](../../../search/search.md).

## [](#search%5Fvia%5Fquery)Accessing the Search Service with SQL++

The Search Service can be accessed by means of the _search functions_ provided by SQL++ — which provides the principal interface to the _Query_ and _Index_ Services. For detailed information, see [Search Functions](../../../n1ql/n1ql-language-reference/searchfun.md).

In Couchbase Server 6.6 Enterprise Edition and later, the _Flex Index_ feature provides the ability for a SQL++ query to use a Full Text Search index transparently with standard SQL++ syntax. For detailed information, see [Flex Indexes](../../../n1ql/n1ql-language-reference/flex-indexes.md).

To use the Search Service in SQL++, the Query, Index, and Search Services must all be running on the cluster.