You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/search/search-get-started-portal.md
+9-96Lines changed: 9 additions & 96 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ author: HeidiSteen
7
7
ms.author: heidist
8
8
ms.service: cognitive-search
9
9
ms.topic: quickstart
10
-
ms.date: 08/24/2021
10
+
ms.date: 12/29/2021
11
11
ms.custom: mode-ui
12
12
---
13
13
# Quickstart: Create an Azure Cognitive Search index in the Azure portal
@@ -126,19 +126,19 @@ To clearly understand what you can and cannot edit during index design, take a m
126
126
127
127
## <aname="query-index"></a> Query using Search explorer
128
128
129
-
Moving forward, you should now have a search index that's ready to query using the built-in [**Search explorer**](search-explorer.md) query page. It provides a search box so that you can test arbitrary query strings.
129
+
You now have a search index that can be queried using [**Search explorer**](search-explorer.md).
130
130
131
-
**Search explorer**is only equipped to handle [REST API requests](/rest/api/searchservice/search-documents), but it accepts syntax for both [simple query syntax](/rest/api/searchservice/simple-query-syntax-in-azure-search) and [full Lucene query parser](/rest/api/searchservice/lucene-query-syntax-in-azure-search), plus all the search parameters available in [Search Document REST API](/rest/api/searchservice/search-documents#bkmk_examples) operations.
131
+
**Search explorer**sends REST calls that conform to the [Search Documents API](/rest/api/searchservice/search-documents). The tool supports [simple query syntax](/rest/api/searchservice/simple-query-syntax-in-azure-search) and [full Lucene query parser](/rest/api/searchservice/lucene-query-syntax-in-azure-search).
132
132
133
-
1.Click**Search explorer** on the command bar.
133
+
1.Select**Search explorer** on the command bar.
134
134
135
135
:::image type="content" source="media/search-get-started-portal/search-explorer-cmd.png" alt-text="Search explorer command":::
136
136
137
-
1. From the **Index** dropdown, choose *hotels-sample-index*. Click the **API Version** dropdown, to see which REST APIs are available. For the queries below, use the generally available version (2020-06-30).
137
+
1. From **Index**, choose "hotels-sample-index".
138
138
139
139
:::image type="content" source="media/search-get-started-portal/search-explorer-changeindex.png" alt-text="Index and API commands":::
140
140
141
-
1. In the search bar, paste in the query strings below and click**Search**.
141
+
1. In the search bar, paste in a query string from the examples below and select**Search**.
142
142
143
143
:::image type="content" source="media/search-get-started-portal/search-explorer-query-string-example.png" alt-text="Query string and search button":::
144
144
@@ -154,104 +154,17 @@ All of the queries in this section are designed for **Search Explorer** and the
154
154
|`search=* &facet=Category &$top=2`| Facet query, used to return an aggregated count of documents that match a facet value you provide. On an empty or unqualified search, all documents are represented. In the hotels index, the Category field is marked as "facetable". |
155
155
|`search=spa &facet=Rating`| Facet on numeric values. This query is facet for rating, on a text search for "spa". The term "Rating" can be specified as a facet because the field is marked as retrievable, filterable, and facetable in the index, and its numeric values (1 through 5) are suitable for grouping results by each value.|
156
156
|`search=beach &highlight=Description &$select=HotelName, Description, Category, Tags`| Hit highlighting. The term "beach" will be highlighted when it appears in the "Description" field. |
157
-
|`search=seatle` followed by `search=seatle~ &queryType=full`| Fuzzy search. By default, misspelled query terms, like *seatle* for "Seattle", fail to return matches in typical search. The first example returns no results. **`queryType=full`** invokes the full Lucene query parser, which supports the `~` operand for fuzzy search. |
158
-
|`$filter=geo.distance(Location,geography'POINT(-122.12 47.67)') le 5 &search=* &$select=HotelName, Address/City, Address/StateProvince &$count=true`| Geospatial search. The example query filters all results for positional data, where results are less than 5 kilometers from a given point as specified by latitude and longitude coordinates (this example uses Redmond, Washington as the point of origin). |
159
-
160
-
<!-- ### Simple query with top N results: `search=spa`
161
-
162
-
+ The **search** parameter is used to input a keyword search for full text search, in this case, returning hotel data for those containing *spa* in any searchable field in the document.
163
-
164
-
+ **Search explorer** returns results in JSON, which is verbose and hard to read if documents have a dense structure. This is intentional; visibility into the entire document is important for development purposes, especially during testing. For a better user experience, you will need to write code that [handles search results](search-pagination-page-layout.md) to bring out important elements.
165
-
166
-
+ Documents are composed of all fields marked as "retrievable" in the index. To view index attributes in the portal, click *hotels-sample* in the **Indexes** list. -->
167
-
168
-
<!-- #### Example (parameterized query): `search=spa&$count=true&$top=10`
169
-
170
-
+ The **&** symbol is used to append search parameters, which can be specified in any order.
171
-
172
-
+ The **$count=true** parameter returns the total count of all documents returned. This value appears near the top of the search results. You can verify filter queries by monitoring changes reported by **$count=true**. Smaller counts indicate your filter is working.
173
-
174
-
+ The **$top=10** returns the highest ranked 10 documents out of the total. By default, Azure Cognitive Search returns the first 50 best matches. You can increase or decrease the amount via **$top**. -->
175
-
176
-
<!-- ### <a name="filter-query"></a> Filter the query
177
-
178
-
Filters are included in search requests when you append the **$filter** parameter.
179
-
180
-
#### Example (filtered): `search=beach&$filter=Rating gt 4`
181
-
182
-
+ The **$filter** parameter returns results matching the criteria you provided. In this case, ratings greater than 4.
183
-
184
-
+ Filter syntax is an OData construction. For more information, see [Filter OData syntax](/rest/api/searchservice/odata-expression-syntax-for-azure-search). -->
185
-
186
-
<!-- ### <a name="facet-query"></a> Facet the query
187
-
188
-
Facet filters are included in search requests. You can use the facet parameter to return an aggregated count of documents that match a facet value you provide.
189
-
190
-
#### Example (faceted with scope reduction): `search=*&facet=Category&$top=2`
191
-
192
-
+ **search=*** is an empty search. Empty searches search over everything. One reason for submitting an empty query is to filter or facet over the complete set of documents. For example, you want a faceting navigation structure to consist of all hotels in the index.
193
-
+ **facet** returns a navigation structure that you can pass to a UI control. It returns categories and a count. In this case, categories are based on a field conveniently called *Category*. There is no aggregation in Azure Cognitive Search, but you can approximate aggregation via `facet`, which gives a count of documents in each category.
194
-
195
-
+ **$top=2** brings back two documents, illustrating that you can use `top` to both reduce or increase results.
196
-
197
-
#### Example (facet on numeric values): `search=spa&facet=Rating`
198
-
199
-
+ This query is facet for rating, on a text search for *spa*. The term *Rating* can be specified as a facet because the field is marked as retrievable, filterable, and facetable in the index, and the values it contains (numeric, 1 through 5), are suitable for categorizing listings into groups.
200
-
201
-
+ Only filterable fields can be faceted. Only retrievable fields can be returned in the results.
202
-
203
-
+ The *Rating* field is double-precision floating point and the grouping will be by precise value. For more information on grouping by interval (for instance, "3 star ratings," "4 star ratings," etc.), see ["Query parameters" in the REST API](/rest/api/searchservice/search-documents#query-parameters). -->
Hit highlighting refers to formatting on text matching the keyword, given matches are found in a specific field. If your search term is deeply buried in a description, you can add hit highlighting to make it easier to spot.
208
-
209
-
#### Example (highlighter): `search=beach&highlight=Description`
210
-
211
-
+ In this example, the formatted word *beach* is easier to spot in the description field.
212
-
213
-
#### Example (linguistic analysis): `search=beaches&highlight=Description`
214
-
215
-
+ Full text search recognizes basic variations in word forms. In this case, search results contain highlighted text for "beach", for hotels that have that word in their searchable fields, in response to a keyword search on "beaches". Different forms of the same word can appear in results because of linguistic analysis.
216
-
217
-
+ Azure Cognitive Search supports 56 analyzers from both Lucene and Microsoft. The default used by Azure Cognitive Search is the standard Lucene analyzer. -->
By default, misspelled query terms, like *seatle* for "Seattle", fail to return matches in typical search. The following example returns no results.
222
-
223
-
#### Example (misspelled term, unhandled): `search=seatle`
224
-
225
-
To handle misspellings, you can use fuzzy search. Fuzzy search is enabled when you use the full Lucene query syntax, which occurs when you do two things: set **queryType=full** on the query, and append the **~** to the search string.
226
-
227
-
#### Example (misspelled term, handled): `search=seatle~&queryType=full`
228
-
229
-
This example now returns documents that include matches on "Seattle".
230
-
231
-
When **queryType** is unspecified, the default simple query parser is used. The simple query parser is faster, but if you require fuzzy search, regular expressions, proximity search, or other advanced query types, you will need the full syntax.
232
-
233
-
Fuzzy search and wildcard search have implications on search output. Linguistic analysis is not performed on these query formats. Before using fuzzy and wildcard search, review [How full text search works in Azure Cognitive Search](search-lucene-query-architecture.md#stage-2-lexical-analysis) and look for the section about exceptions to lexical analysis.
234
-
235
-
For more information about query scenarios enabled by the full query parser, see [Lucene query syntax in Azure Cognitive Search](/rest/api/searchservice/lucene-query-syntax-in-azure-search). -->
Geospatial search is enabled through the [Edm.GeographyPoint data type](/rest/api/searchservice/supported-data-types) on a field containing coordinates. Geospatial search is specified in a filter expression, using [OData geospatial functions](search-query-odata-geo-spatial-functions.md) in Azure Cognitive Search.
240
-
241
-
#### Example (geo-coordinate filters): `$filter=geo.distance(Location,geography'POINT(-122.12 47.67)') le 5&search=*&$select=HotelName, Address/City, Address/StateProvince&$count=true`
242
-
243
-
The example query filters all results for positional data, where results are less than 5 kilometers from a given point as specified by latitude and longitude coordinates (this example uses Redmond, Washington as the locus point). By adding **$count**, you can see how many results are returned when you change either the distance or the coordinates. Adding **$select** returns just those fields that are useful in results. -->
157
+
|`search=seatle` followed by </br>`search=seatle~ &queryType=full`| Fuzzy search. By default, misspelled query terms, like *seatle* for "Seattle", fail to return matches in typical search. The first example returns no results. Adding **`queryType=full`** invokes the full Lucene query parser, which supports the `~` operand for fuzzy search. |
158
+
|`$filter=geo.distance(Location, geography'POINT(-122.12 47.67)') le 5 &search=* &$select=HotelName, Address/City, Address/StateProvince &$count=true`| Geospatial search. The example query filters all results for positional data, where results are less than 5 kilometers from a given point, as specified by latitude and longitude coordinates (this example uses Redmond, Washington as the point of origin). |
244
159
245
160
## Takeaways
246
161
247
162
This tutorial provided a quick introduction to Azure Cognitive Search using the Azure portal.
248
163
249
-
You learned how to create a search index using the **Import data** wizard. You learned about [indexers](search-indexer-overview.md), as well as the basic workflow for index design, including [supported modifications to a published index](/rest/api/searchservice/update-index).
164
+
You learned how to create a search index using the **Import data** wizard. You created your first [indexer](search-indexer-overview.md) and learned the basic workflow for index design.
250
165
251
166
Using the **Search explorer** in the Azure portal, you learned some basic query syntax through hands-on examples that demonstrated key capabilities such as filters, hit highlighting, fuzzy search, and geospatial search.
252
167
253
-
You also learned how to find indexes, indexers, and data sources in the portal. Given any new data source in the future, you can use the portal to quickly check its definitions or field collections with minimal effort.
254
-
255
168
## Clean up resources
256
169
257
170
When you're working in your own subscription, it's a good idea at the end of a project to identify whether you still need the resources you created. Resources left running can cost you money. You can delete resources individually or delete the resource group to delete the entire set of resources.
0 commit comments