> For the complete documentation index, see [llms.txt](https://docs.wirebootstrap.com/azure/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wirebootstrap.com/azure/query-extensions.md).

# Query Extensions

Query extensions are methods added to [standard WireBootstrap select queries](https://docs.wirebootstrap.com/wirebootstrap/creating-queries/select-queries) that make [faceted search queries](https://docs.microsoft.com/en-us/azure/search/search-faceted-navigation) easier to create.

To create a search query, use the standard convention for specifying the fields to return.  Use the extension methods `search` and `facet` to specify the search keyword(s) and facets to return.

```javascript
const query = wire.data.select("number","street","city","region","countryCode")
     .search("*")
     .facet("type")
     .facet("status"); 
```

Once the query is created, execute it against the search service.  The results will be returned in a standard [WireBootstrap DataTable](https://docs.wirebootstrap.com/wirebootstrap/working-with-datatables/datatables).

```javascript
...
const table = await source.execAsync(query);
```

## Suggestions

Use suggestion queries to return search results for type-ahead or auto-complete user interface components.  These queries use [suggestion requests in Azure Search](https://docs.microsoft.com/en-us/rest/api/searchservice/suggestions).

To create suggestion queries, use the `suggest` extension method.

```javascript
const query = wire.data.select().suggest("chicago");
const table = await source.execAsync(query);
```
