Creare, eseguire query e filtrare un indice di Ricerca di Azure nel portaleCreate, query, and filter an Azure Search index in the portal

Nel portale di Azure iniziare con un set di dati di esempio predefinito per generare rapidamente un indice di Ricerca di Azure usando la procedura guidata Importa dati.In the Azure portal, start with a predefined sample dataset to quickly generate an Azure Search index using the Import data wizard. Con Esplora ricerche è possibile esplorare la ricerca full-text, i filtri, i facet, la ricerca fuzzy e la ricerca geografica.Explore full text search, filters, facets, fuzzy search, and geosearch with Search explorer.

Questa introduzione senza codice permette di iniziare a usare i dati predefiniti per poter scrivere query interessanti fin da subito.This code-free introduction gets you started with predefined data so that you can write interesting queries right away. Gli strumenti del portale non sostituiscono il codice, ma potrebbero essere utili per eseguire queste attività:While portal tooling is not a substitute for code, you might find it useful for these tasks:

  • Apprendere in modo pratico con una preparazione minima.Hands on learning with minimal ramp-up
  • Creare il prototipo di un indice prima di scrivere codice in Importa dati.Prototype an index before you write code in Import data
  • Testare le query e la sintassi del parser in Esplora ricerche.Test queries and parser syntax in Search explorer
  • Visualizzare un indice esistente pubblicato nel servizio e cercarne gli attributi.View an existing index published to your service and look up its attributes

Tempo stimato: circa 15 minuti. Di più se è anche necessario eseguire l'iscrizione a un account o un servizio.Time Estimate: About 15 minutes, but longer if account or service sign-up is also required.

In alternativa, prepararsi usando una introduzione basata su codice alla programmazione di Ricerca di Azure in .NET.Alternatively, ramp up using a code-based introduction to programming Azure Search in .NET.

PrerequisitiPrerequisites

Questa esercitazione presuppone la disponibilità di una sottoscrizione di Azure e del servizio Ricerca di Azure.This tutorial assumes an Azure subscription and Azure Search service.

Se non si vuole eseguire subito il provisioning di un servizio, è possibile guardare una dimostrazione della durata di sei minuti dei passaggi illustrati in questa esercitazione, all'incirca a partire dal terzo minuto di questa panoramica video su Ricerca di Azure.If you don't want to provision a service immediately, you can watch a 6-minute demonstration of the steps in this tutorial, starting at about three minutes into this Azure Search Overview video.

Trovare il servizioFind your service

  1. Accedere al portale di Azure.Sign in to the Azure portal.
  2. Aprire il dashboard relativo al servizio Ricerca di Azure.Open the service dashboard of your Azure Search service. Se il riquadro del servizio non è stato aggiunto al dashboard, seguire questa procedura per trovare il servizio:If you didn't pin the service tile to your dashboard, you can find your service this way:

    • Nell'indice fare clic su Altri servizi nella parte inferiore del riquadro di spostamento a sinistra.In the Jumpbar, click More services at the bottom of the left navigation pane.
    • Nella casella di ricerca digitare cerca per ottenere un elenco dei servizi di ricerca per la sottoscrizione.In the search box, type search to get a list of search services for your subscription. Il servizio verrà visualizzato nell'elenco.Your service should appear in the list.

Verificare lo spazioCheck for space

Molti clienti iniziano con il servizio gratuito.Many customers start with the free service. Questa versione è limitata a tre indici, tre origini dati e tre gli indicizzatori.This version is limited to three indexes, three data sources, and three indexers. Assicurarsi di avere spazio per gli elementi aggiuntivi prima di iniziare,Make sure you have room for extra items before you begin. perché ne verrà creato uno per ogni oggetto.This tutorial creates one of each object.

Suggerimento

Riquadri del dashboard del servizio mostrano il numero di indici, indicizzatori e origini dati già disponibili.Tiles on the service dashboard show how many indexes, indexers, and data sources you already have. Il riquadro Indicizzatore mostra gli indicatori di esito positivo e negativo.The Indexer tile shows success and failure indicators. Fare clic sul riquadro per visualizzare il numero di indicizzatori.Click the tile to view the indexer count.

Riquadri degli indicizzatori e delle origini dati

Creare un indice e caricare i datiCreate an index and load data

Le query di ricerca scorrono un indice contenente dati ricercabili, metadati e costrutti usati per l'ottimizzazione di determinati comportamenti di ricerca.Search queries iterate over an index containing searchable data, metadata, and constructs used for optimizing certain search behaviors.

Per mantenere questa attività basata sul portale, viene usato un set dati di esempio su cui è possibile eseguire una ricerca per indicizzazione con un indicizzatore tramite la procedura guidata Importa dati.To keep this task portal-based, we use a built-in sample dataset that can be crawled using an indexer via the Import data wizard.

Passaggio 1: Avviare la procedura guidata Importa datiStep 1: Start the Import data wizard

  1. Nel dashboard del servizio Ricerca di Azure fare clic su Importa dati nella barra dei comandi per avviare una procedura guidata che crea e popola un indice.On your Azure Search service dashboard, click Import data in the command bar to start a wizard that both creates and populates an index.

    Comando Importa dati

  2. Nella procedura guidata, fare clic su Origine dati > Esempi > realestate-us-sample.In the wizard, click Data Source > Samples > realestate-us-sample. Questa origine dati è preconfigurata con un nome, un tipo e informazioni di connessione.This data source is preconfigured with a name, type, and connection information. Dopo la creazione, diventa una "origine dati esistente" che può essere riutilizzata in altre operazioni di importazione.Once created, it becomes an "existing data source" that can be reused in other import operations.

    Selezionare il set di dati di esempio

  3. Fare clic su OK per usarla.Click OK to use it.

Passaggio 2: Definire l'indiceStep 2: Define the index

La creazione di un indice è in genere un processo manuale e basato su codice, ma la procedura guidata può generare un indice per qualsiasi origine dati su cui è possibile eseguire ricerche per indicizzazione.Creating an index is typically manual and code-based, but the wizard can generate an index for any data source it can crawl. Un indice richiede come minimo un nome e una raccolta di campi, con un campo contrassegnato come chiave del documento che lo identifica in modo univoco.Minimally, an index requires a name, and a fields collection, with one field marked as the document key to uniquely identify each document.

I campi hanno tipi di dati e attributi.Fields have data types and attributes. Le caselle di controllo nella parte superiore sono attributi dell'indice che controllano il modo in cui viene usato il campo.The check boxes across the top are index attributes controlling how the field is used.

  • Recuperabile indica che viene visualizzato nell'elenco dei risultati della ricerca.Retrievable means that it shows up in search results list. Deselezionando questa casella di controllo è possibile contrassegnare i singoli campi perché siano esclusi dai risultati della ricerca, ad esempio quando vengono usati solo nelle espressioni di filtro.You can mark individual fields as off limits for search results by clearing this checkbox, for example when fields used only in filter expressions.
  • Filtrabile, Ordinabile e Con facet determinano se un campo può essere usato in un filtro, un ordinamento o una struttura di esplorazione in base a facet.Filterable, Sortable, and Facetable determine whether a field can be used in a filter, a sort, or a facet navigation structure.
  • Ricercabile indica che un campo è incluso nella ricerca full-text.Searchable means that a field is included in full text search. Le stringhe sono ricercabili.Strings are searchable. I campi numerici e i campi booleani sono spesso contrassegnati come non ricercabili.Numeric fields and Boolean fields are often marked as not searchable.

Per impostazione predefinita, la procedura guidata analizza l'origine dati alla ricerca di identificatori univoci come base per il campo chiave.By default, the wizard scans the data source for unique identifiers as the basis for the key field. Le stringhe vengono attribuite come recuperabili e ricercabili.Strings are attributed as retrievable and searchable. Gli Integer vengono attribuiti come recuperabili, filtrabili, ordinabili e con facet.Integers are attributed as retrievable, filterable, sortable, and facetable.

Indice realestate generato

Fare clic su OK per creare l'indice.Click OK to create the index.

Passaggio 3: Definire l'indicizzatoreStep 3: Define the indexer

Sempre nella procedura guidata Importa dati fare clic su Indicizzatore > Nome e quindi digitare un nome per l'indicizzatore.Still in the Import data wizard, click Indexer > Name, and type a name for the indexer.

Questo oggetto definisce un processo eseguibile.This object defines an executable process. È possibile inserirlo nella pianificazione ricorrente. Per il momento, tuttavia, usare l'opzione predefinita per eseguire l'indicizzatore una volta, immediatamente, facendo clic su OK.You could put it on recurring schedule, but for now use the default option to run the indexer once, immediately, when you click OK.

Indicizzatore realestate

Verificare l'avanzamentoCheck progress

Per monitorare l'importazione dei dati, tornare al dashboard del servizio, scorrere verso il basso e fare doppio clic sul riquadro Indicizzatori per aprire l'elenco corrispondente.To monitor data import, go back to the service dashboard, scroll down, and double-click the Indexers tile to open the indexers list. L'indicizzatore appena creato verrà visualizzato nell'elenco con lo stato "in corso" oppure "operazione riuscita", insieme al numero di documenti indicizzati.You should see the newly created indexer in the list, with status indicating "in progress" or success, along with the number of documents indexed.

Messaggio di stato dell'indicizzatore

Eseguire query sull'indiceQuery the index

Ora è disponibile un indice di ricerca su cui è possibile eseguire query.You now have a search index that's ready to query. Esplora ricerche è uno strumento di query integrato nel portale.Search explorer is a query tool built into the portal. Include una casella di ricerca che permette di verificare se i risultati della ricerca sono quelli previsti.It provides a search box so that you can verify whether search results are what you expect.

Suggerimento

La panoramica video su Ricerca di Azure illustra la procedura seguente al minuto 6.08 del video.In the Azure Search Overview video, the following steps are demonstrated at 6m08s into the video.

  1. Fare clic su Esplora ricerche nella barra dei comandi.Click Search explorer on the command bar.

    Comando di Esplora ricerche

  2. Fare clic su Cambia indice nella barra dei comandi per passare a realestate-us-sample.Click Change index on the command bar to switch to realestate-us-sample.

    Comandi dell'indice e dell'API

  3. Fare clic su Imposta versione API nella barra dei comandi per verificare quali API REST sono disponibili.Click Set API version on the command bar to see which REST APIs are available. Le API di anteprima permettono di accedere a nuove funzionalità non ancora rilasciate a livello generale.Preview APIs give you access to new features not yet generally released. Per le query seguenti, usare la versione disponibile a livello generale (2016-09-01), se non diversamente specificato.For the queries below, use the generally available version (2016-09-01) unless directed.

    Nota

    L'API REST di Ricerca di Azure e la libreria .NET sono totalmente equivalenti, ma Esplora ricerche può gestire unicamente le chiamate REST.Azure Search REST API and the .NET library are fully equivalent, but Search explorer is only equipped to handle REST calls. Accetta sia la sintassi di query semplice che la sintassi completa del parser di query Lucene, oltre a tutti i parametri di ricerca disponibili nelle operazioni di ricerca nei documenti.It accepts syntax for both simple query syntax and full Lucene query parser, plus all the search parameters available in Search Document operations.

  4. Nella barra di ricerca immettere le stringhe di query riportate di seguito e fare clic su Ricerca.In the search bar, enter the query strings below and click Search.

    Esempio di query di ricerca

search=seattle

  • Il parametro search permette di inserire una ricerca per parole chiave per la ricerca full-text. In questo caso la ricerca restituisce elenchi della contea di King, nello stato di Washington, contenenti il termine Seattle in qualsiasi campo ricercabile del documento.The search` parameter is used to input a keyword search for full text search, in this case, returning listings in King County, Washington state, containing Seattle in any searchable field in the document.

  • Esplora ricerche restituisce i risultati in JSON, un formato dettagliato e difficile da leggere se i documenti hanno una struttura densa.Search explorer returns results in JSON, which is verbose and hard to read if documents have a dense structure. A seconda dei documenti, potrebbe essere necessario scrivere codice per la gestione dei risultati della ricerca, allo scopo di estrarre gli elementi importanti.Depending on your documents, you might need to write code that handles search results to extract important elements.

  • I documenti sono costituiti da tutti i campi contrassegnati come recuperabili nell'indice.Documents are composed of all fields marked as retrievable in the index. Per visualizzare gli attributi dell'indice nel portale, fare clic su realestate-us-sample nel riquadro Indici.To view index attributes in the portal, click realestate-us-sample in the Indexes tile.

search=seattle&$count=true&$top=100

  • Il simbolo & permette di aggiungere parametri di ricerca, che possono essere specificati in qualsiasi ordine.The & symbol is used to append search parameters, which can be specified in any order.

  • Il parametro $count=true restituisce un conteggio relativo alla somma di tutti i documenti restituiti.The $count=true parameter returns a count for the sum of all documents returned. È possibile verificare le query filtro monitorando le modifiche segnalate da $count=true.You can verify filter queries by monitoring changes reported by $count=true.

  • $top=100 restituisce i 100 documenti con classificazione più alta nel totale.The $top=100 returns the highest ranked 100 documents out of the total. Per impostazione predefinita, Ricerca di Azure restituisce le 50 migliori corrispondenze.By default, Azure Search returns the first 50 best matches. Per aumentare o diminuire la quantità è possibile usare $top.You can increase or decrease the amount via $top.

Filtrare la queryFilter the query

Quando si aggiunge il parametro $filter, vengono inclusi filtri nelle richieste di ricerca.Filters are included in search requests when you append the $filter parameter.

search=seattle&$filter=beds gt 3

  • Il parametro $filter restituisce risultati corrispondenti ai criteri immessi.The $filter parameter returns results matching the criteria you provided. In questo caso, un numero di camere da letto maggiore di 3.In this case, bedrooms greater than 3.

  • La sintassi del filtro è una costruzione OData.Filter syntax is an OData construction. Per altre informazioni, vedere l'articolo relativo alla sintassi OData per i filtri.For more information, see Filter OData syntax.

Applicare un facet alla queryFacet the query

Nelle richieste di ricerca vengono inclusi filtri facet.Facet filters are included in search requests. È possibile usare il parametro facet per restituire un conteggio aggregato dei documenti che corrispondono a un valore facet specificato.You can use the facet parameter to return an aggregated count of documents that match a facet value you provide.

search=*&facet=city&$top=2

  • search=* è una ricerca vuota.search=* is an empty search. Le ricerche vuote permettono di eseguire la ricerca su tutti gli elementi.Empty searches search over everything. Una query vuota permette di filtrare o esplorare in base a facet il set completo di documenti,One reason for submitting an empty query is to filter or facet over the complete set of documents. ad esempio per ottenere una struttura di esplorazione con facet composta da tutte le città incluse nell'indice.For example, you want a faceting navigation structure to consist of all cities in the index.

  • facet restituisce una struttura di esplorazione che è possibile passare a un controllo dell'interfaccia utente.facet returns a navigation structure that you can pass to a UI control. Restituisce un conteggio e categorie.It returns categories and a count. In questo caso le categorie sono basate sul numero di città.In this case, categories are based on the number of cities. Ricerca di Azure non prevede alcuna aggregazione, ma è possibile ottenere qualcosa di simile all'aggregazione usando facet, che restituisce un conteggio dei documenti in ogni categoria.There is no aggregation in Azure Search, but you can approximate aggregation via facet, which gives a count of documents in each category.

  • $top=2 restituisce due documenti, dimostrando che è possibile usare top sia per ridurre che per aumentare il numero di risultati.$top=2 brings back two documents, illustrating that you can use top to both reduce or increase results.

search=seattle&facet=beds

  • Questa query consente l'esplorazione in base a facet e cerca "beds", ovvero "letti", in una ricerca di testo di seattle.This query is facet for beds, on a text search for Seattle. Il termine beds può essere specificato come facet perché il campo è contrassegnato come recuperabile, filtrabile e con facet nell'indice e i valori numerici che contiene, da 1 a 5, sono adatti alla categorizzazione degli elenchi in gruppi, ad esempio elenchi con 3 o 4 camere da letto.The term beds 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 (listings with 3 bedrooms, 4 bedrooms).

  • Solo i campi filtrabili sono adatti all'esplorazione in base a facet.Only filterable fields can be faceted. Solo i campi recuperabili possono essere restituiti nei risultati.Only retrievable fields can be returned in the results.

Aggiungere l'evidenziazioneAdd highlighting

L'evidenziazione dei risultati si riferisce alla formattazione del testo corrispondente alla parola chiave, date le corrispondenze trovate in un campo specifico.Hit highlighting refers to formatting on text matching the keyword, given matches are found in a specific field. Se il termine di ricerca si trova all'interno di una descrizione, è possibile aggiungere l'evidenziazione dei risultati per trovarli più facilmente.If your search term is deeply buried in a description, you can add hit highlighting to make it easier to spot.

search=granite countertops&highlight=description

  • In questo esempio la frase formattata granite countertops è più facile da trovare nel campo della descrizione.In this example, the formatted phrase granite countertops is easier to spot in the description field.

search=mice&highlight=description

  • La ricerca full-text permette di trovare forme di termini con una semantica simile.Full text search finds word forms with similar semantics. In questo caso, i risultati della ricerca contengono testo evidenziato per "mouse" (topo), per le case con questo tipo di infestazione, in risposta a una ricerca per parole chiave di "mice" (topi).In this case, search results contain highlighted text for "mouse", for homes that have mouse infestation, in response to a keyword search on "mice". Nei risultati possono essere visualizzate diverse forme dello stesso termine a causa dell'analisi linguistica.Different forms of the same word can appear in results because of linguistic analysis.

  • Ricerca di Azure supporta 56 analizzatori, sia Microsoft che Lucene.Azure Search supports 56 analyzers from both Lucene and Microsoft. L'impostazione predefinita di Ricerca di Azure prevede l'uso dell'analizzatore Lucene standard.The default used by Azure Search is the standard Lucene analyzer.

In una ricerca tipica i termini con errori di ortografia, ad esempio samamish per l'altopiano di Sammamish nell'area di Seattle, non restituiscono corrispondenze.Misspelled words, like samamish for the Samammish plateau in the Seattle area, fail to return matches in typical search. Per gestire gli errori di ortografia, è possibile usare ricerca fuzzy, descritta nell'esempio seguente.To handle misspellings, you can use fuzzy search, described in the next example.

search=samamish

  • In questo esempio una zona dell'area di Seattle viene scritta in modo non corretto.This example misspells a neighborhood in the Seattle area.

search=samamish~&queryType=full

  • La ricerca fuzzy viene abilitata quando si specifica il simbolo ~ e si usa il parser di query completa, che interpreta e analizza correttamente la sintassi ~.Fuzzy search is enabled when you specify the ~ symbol and use the full query parser, which interprets and correctly parses the ~ syntax.

  • Per usare la ricerca fuzzy è necessario abilitare in modo esplicito il parser di query completa impostando queryType=full.Fuzzy search is available when you opt in for the full query parser, which occurs when you set queryType=full. Per altre informazioni sugli scenari di query abilitati dal parser di query completa, vedere Lucene query syntax in Azure Search (Sintassi di query Lucene in Ricerca di Azure).For more information about query scenarios enabled by the full query parser, see Lucene query syntax in Azure Search.

  • Se non si specifica queryType, viene usato il parser di query semplice predefinito.When queryType is unspecified, the default simple query parser is used. Il parser di query semplice è più veloce, ma per la ricerca fuzzy, le espressioni regolari, la ricerca per prossimità o altri tipi di query avanzate, è necessario usare la sintassi completa.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.

La ricerca geospaziale è supportata tramite il tipo di dati edm.GeographyPoint in un campo che contiene coordinate.Geospatial search is supported through the edm.GeographyPoint data type on a field containing coordinates. La ricerca geografica è un tipo di filtro, illustrato nell'articolo relativo alla sintassi OData per i filtri.Geosearch is a type of filter, specified in Filter OData syntax.

search=*&$count=true&$filter=geo.distance(location,geography'POINT(-122.121513 47.673988)') le 5

  • La query di esempio filtra tutti i risultati in base a dati posizionali, restituendo i risultati a meno di 5 chilometri da un punto specificato, indicato mediante coordinate di latitudine e longitudine.The example query filters all results for positional data, where results are less than 5 kilometers from a given point (specified as latitude and longitude coordinates). Aggiungendo $count è possibile visualizzare il numero di risultati restituiti se si modifica la distanza o le coordinate.By adding $count, you can see how many results are returned when you change either the distance or the coordinates.

  • La ricerca geospaziale risulta utile se l'applicazione di ricerca include una funzionalità di "ricerca nelle vicinanze" o usa l'esplorazione mappa.Geospatial search is useful if your search application has a "find near me" feature or uses map navigation. Non si tratta, tuttavia, di una ricerca full-text.It is not full text search, however. Se i requisiti dell'utente prevedono la ricerca in una città o un paese in base al nome, oltre alle coordinate è necessario aggiungere campi contenenti nomi di città o di paesi.If you have user requirements for searching on a city or country by name, add fields containing city or country names, in addition to coordinates.

Passaggi successiviNext steps

  • Modificare uno degli oggetti appena creati.Modify any of the objects you just created. Dopo aver eseguito una volta la procedura guidata, è possibile tornare indietro e visualizzare o modificare i singoli componenti, ovvero indice, indicizzatore oppure origine dati.After you run the wizard once, you can go back and view or modify individual components: index, indexer, or data source. Alcune modifiche, ad esempio il cambiamento del tipo di dati del campo, non sono consentite nell'indice, ma la maggior parte delle proprietà e delle impostazioni sono modificabili.Some edits, such as the changing the field data type, are not allowed on the index, but most properties and settings are modifiable.

    Per visualizzare i singoli componenti, fare clic sul riquadro Indice, Indicizzatore oppure Origini dati nel dashboard per visualizzare un elenco di oggetti esistenti.To view individual components, click the Index, Indexer, or Data Sources tiles on your dashboard to display a list of existing objects. Per altre informazioni sulle modifiche all'indice che non richiedono la ricompilazione, vedere Update Index (Azure Search REST API) (API REST di Ricerca di Azure: aggiornare l'indice).To learn more about index edits that do not require a rebuild, see Update Index (Azure Search REST API).

  • Provare a usare strumenti e procedure con altre origini dati.Try the tools and steps with other data sources. Il set di dati di esempio, realestate-us-sample, proviene da un database SQL di Azure in cui Ricerca di Azure può eseguire ricerche per indicizzazione.The sample dataset, realestate-us-sample, is from an Azure SQL Database that Azure Search can crawl. Oltre che nel database SQL di Azure, Ricerca di Azure permette di effettuare ricerche per indicizzazione e dedurre un indice da strutture di dati flat nell'archivio tabelle di Azure, nell'archivio BLOB, in SQL Server in una macchina virtuale di Azure e in Azure Cosmos DB.Besides Azure SQL Database, Azure Search can crawl and infer an index from flat data structures in Azure Table storage, Blob storage, SQL Server on an Azure VM, and Azure Cosmos DB. Tutte queste origini dati sono supportate nella procedura guidata.All of these data sources are supported in the wizard. Nel codice è possibile popolare facilmente un indice tramite un indicizzatore.In code, you can populate an index easily using an indexer.

  • Tutte le altre origini dati senza indicizzatore sono supportate tramite un modello push, in cui il codice effettua il push di set di righe nuovi e modificati in JSON nell'indice.All other non-indexer data sources are supported via a push model, where your code pushes new and changed rowsets in JSON to your index. Per altre informazioni, vedere Add, update, or delete documents in Azure Search (Aggiungere, aggiornare o eliminare documenti da Ricerca di Azure).For more information, see Add, update, or delete documents in Azure Search.

Per informazioni sulle altre funzionalità descritte in questo articolo, visitare i collegamenti seguenti:Learn more about other features mentioned in this article by visiting these links: