Che cos'è la Ricerca di Azure?What is Azure Search?

Ricerca di Azure è una soluzione cloud di ricerca distribuita come servizio che offre agli sviluppatori le API e gli strumenti per ottenere un'esperienza di ricerca avanzata tra i contenuti nelle applicazioni Web, per dispositivi mobili ed enterprise.Azure Search is a search-as-a-service cloud solution that gives developers APIs and tools for adding a rich search experience over your content in web, mobile, and enterprise applications.

La funzionalità viene esposta tramite una semplice API REST o un SDK .NET che maschera la complessità intrinseca del recupero delle informazioni.Functionality is exposed through a simple REST API or .NET SDK that masks the inherent complexity of information retrieval. Oltre alle API, il portale di Azure fornisce il supporto di amministrazione e gestione dei contenuti, con strumenti per la creazione di prototipi e per le query degli indici.In addition to APIs, the Azure portal provides administration and content management support, with tools for prototyping and querying your indexes. Poiché il servizio viene eseguito nel cloud, disponibilità e infrastruttura sono gestite da Microsoft.Because the service runs in the cloud, infrastructure and availability are managed by Microsoft.

Riepilogo delle funzionalitàFeature summary

CategoriaCategory FunzionalitàFeatures
Ricerca full-text e analisi del testoFull text search and text analysis Ricerca full-text è un caso di utilizzo principale per la maggior parte delle app basate sulla ricerca.Full text search is a primary use case for most search-based apps. È possibile formulare query servendosi di una sintassi supportata.Queries can be formulated using a supported syntax.

La sintassi di query semplice offre operatori logici, operatori di ricerca di una frase, operatori di suffisso, operatori di precedenza.Simple query syntax provides logical operators, phrase search operators, suffix operators, precedence operators.

La sintassi di query Lucene include tutte le operazioni della sintassi semplice, con estensioni per ricerche fuzzy, ricerche per prossimità, aumento della priorità dei termini ed espressioni regolari.Lucene query syntax includes all operations in simple syntax, with extensions for fuzzy search, proximity search, term boosting, and regular expressions.
Integrazione dei datiData integration Gli indici di Ricerca di Azure accettano i dati provenienti da qualsiasi origine, purché vengano inviati come struttura di dati JSON.Azure Search indexes accept data from any source, provided it is submitted as a JSON data structure.

Facoltativamente, per le origini dati supportate in Azure è possibile usare gli indicizzatori per eseguire automaticamente una ricerca per indicizzazione nel database SQL di Azure, in Azure Cosmos DB o nell'Archiviazione BLOB di Azure per sincronizzare il contenuto dell'indice di ricerca con l'archivio dati primario.Optionally, for supported data sources in Azure, you can use indexers to automatically crawl Azure SQL Database, Azure Cosmos DB, or Azure Blob storage to sync your search index's content with your primary data store. Gli indicizzatori BLOB di Azure possono eseguire la decifrazione del documento per indicizzare i principali formati di file inclusi documenti Microsoft Office, PDF e HTML.Azure Blob indexers can perform document cracking for indexing major file formats, including Microsoft Office, PDF, and HTML documents.
Analisi linguisticaLinguistic analysis Gli analizzatori sono componenti usati per l'elaborazione del testo durante le operazioni di indicizzazione e di ricerca.Analyzers are components used for text processing during indexing and search operations. Sono disponibili due tipi.There are two types.

Gli analizzatori lessicali personalizzati sono usati per le query di ricerca complesse che usano la corrispondenza fonetica e le espressioni regolari.Custom lexical analyzers are used for complex search queries using phonetic matching and regular expressions.

Gli analizzatori di linguaggio di Lucene o Microsoft sono usati per gestire in modo intelligente le funzionalità linguistiche specifiche di una lingua tra cui i tempi verbali, il genere, i sostantivi plurali irregolari, ad esempio "uomo" e "uomini", la scomposizione delle parole, il ritorno a capo, per le lingue senza spazi, e altro.Language analyzers from Lucene or Microsoft are used to intelligently handle language-specific linguistics including verb tenses, gender, irregular plural nouns (for example, 'mouse' vs. 'mice'), word de-compounding, word-breaking (for languages with no spaces), and more.
Ricerca geograficaGeo-search Ricerca di Azure elabora, filtra e visualizza le posizioni geografiche.Azure Search processes, filters, and displays geographic locations. Consente agli utenti di esplorare i dati in base alla prossimità di un risultato della ricerca a una posizione fisica.It enables users to explore data based on the proximity of a search result to a physical location. Guardare questo video o rivedere questo esempio per altre informazioni.Watch this video or review this sample to learn more.
Funzioni per l'esperienza utenteUser experience features I suggerimenti per la ricerca possono essere abilitati per le query di digitazione in una barra di ricerca.Search suggestions can be enabled for type-ahead queries in a search bar. I documenti presenti nell'indice sono suggeriti come input di ricerca parziale inserita dagli utenti.Actual documents in your index are suggested as users enter partial search input.

L'Esplorazione in base a facet viene abilitata tramite un singolo parametro di query.Faceted navigation is enabled through a single query parameter. La Ricerca di Azure restituisce una struttura di esplorazione in base a facet che è possibile usare come codice alla base di un elenco di categorie per i filtri autoindirizzati, ad esempio per filtrare gli elementi di un catalogo in base all'intervallo di prezzi o al marchio.Azure Search returns a faceted navigation structure you can use as the code behind a categories list, for self-directed filtering (for example, to filter catalog items by price-range or brand).

È possibile usare i filtri per incorporare l'esplorazione in base a facet nell'interfaccia utente dell'applicazione, migliorare la formulazione di query e filtrare in base a criteri specificati dall'utente o dallo sviluppatore.Filters can be used to incorporate faceted navigation into your application's UI, enhance query formulation, and filter based on user- or developer-specified criteria. Creare filtri mediante la sintassi OData.Create filters using the OData syntax.

L'evidenziazione dei risultati applica la formattazione del testo a una parola chiave corrispondente nei risultati della ricerca.Hit highlighting applies text formatting to a matching keyword in search results. È possibile scegliere i campi che devono restituire i frammenti evidenziati.You can choose which fields return highlighted snippets.

L'ordinamento è disponibile per più campi tramite lo schema dell'indice e viene attivato o disattivato in fase di query con un solo parametro di ricerca.Sorting is offered for multiple fields via the index schema and then toggled at query-time with a single search parameter.

Il paging e la limitazione dei risultati della ricerca non comportano alcuna difficoltà grazie al controllo accurato che Ricerca di Azure offre sui risultati della ricerca.Paging and throttling your search results is straightforward with the finely tuned control that Azure Search offers over your search results.
PertinenzaRelevance La semplicità di assegnazione dei punteggi è un vantaggio chiave di Ricerca di Azure.Simple scoring is a key benefit of Azure Search. I profili di punteggio vengono usati per modellare la rilevanza in funzione dei valori nei documenti stessi.Scoring profiles are used to model relevance as a function of values in the documents themselves. Ad esempio, si potrebbe decidere che prodotti più recenti o prodotti scontati compaiano prima tra i risultati della ricerca.For example, you might want newer products or discounted products to appear higher in the search results. È inoltre possibile compilare profili di puntaggio utilizzando tag per il punteggio personalizzati in base alle preferenze di ricerca cliente che sono stati rilevati e archiviati separatamente.You can also build scoring profiles using tags for personalized scoring based on customer search preferences you've tracked and stored separately.
Monitoraggio e reportingMonitoring and reporting I dati sull'analisi del traffico di ricerca possono essere raccolti e analizzati per dedurre informazioni sulla base delle parole digitate dagli utenti nella casella di ricerca.Search traffic analytics are collected and analyzed to unlock insights from what users are typing into the search box.

Le metriche sulle query al secondo, sulla latenza e sulla limitazione vengono acquisite e inserite in report nelle pagine del portale, senza necessità di configurazioni aggiuntive.Metrics on queries per second, latency, and throttling are captured and reported in portal pages with no additional configuration required. È anche possibile monitorare con facilita i conteggi di indici e documenti in modo da regolare la capacità in base alle necessità.You can also easily monitor index and document counts so that you can adjust capacity as needed. Per altre informazioni, vedere Amministrazione del servizioFor more information, see Service administration
Strumenti per la creazione di prototipi e l'ispezioneTools for prototyping and inspection Nel portale è possibile usare la procedura guidata di importazione dei dati per configurare gli indicizzatori, indicizzare la finestra di progettazione e usare Esplora ricerche per testare le query e migliorare i profili di punteggio.In the portal, you can use the Import data wizard to configure indexers, index designer to stand up an index, and Search explorer to test queries and refine scoring profiles. È inoltre possibile aprire un indice qualsiasi per visualizzarne lo schema.You can also open any index to view its schema.
InfrastrutturaInfrastructure La piattaforma a disponibilità elevata garantisce un'esperienza del servizio di ricerca estremamente affidabile.The highly available platform ensures an extremely reliable search service experience. Se si applica una scala corretta, Ricerca di Azure offre un contratto di servizio con disponibilità del 99,9%.When scaled properly, Azure Search offers a 99.9% SLA.

Gestione completa e scalabile come soluzione end-to-end, Ricerca di Azure non richiede assolutamente alcun tipo di gestione dell'infrastruttura.Fully managed and scalable as an end-to-end solution, Azure Search requires absolutely no infrastructure management. Il servizio può essere adattato alle proprie esigenze scalando in due dimensioni per gestire più archivi di documenti, carichi di query maggiori o entrambi.Your service can be tailored to your needs by scaling in two dimensions to handle more document storage, higher query loads, or both.

Passaggio 1: Effettuare il provisioning del servizioStep 1: Provision service

È possibile attivare un servizio Ricerca di Azure nel Portale di Azure o attraverso l'API Azure Resource Management.You can spin up an Azure Search service in the Azure portal or through the Azure Resource Management API. È possibile scegliere il servizio gratuito condiviso con altri sottoscrittori, o un livello a pagamento che dedica risorse usate solo dal proprio servizio.You can choose either the free service shared with other subscribers, or a paid tier that dedicates resources used only by your service. Per i livelli a pagamento, è possibile scalare il servizio in due dimensioni:For paid tiers, you can scale a service in two dimensions:

  • Aggiungere Repliche per aumentare la capacità di gestire carichi di lavoro elevati di query.Add Replicas to grow your capacity to handle heavy query loads.
  • Aggiungere Partizioni per aumentare la risorsa di archiviazione per più documenti.Add Partitions to grow storage for more documents.

Tramite la gestione separata della risorsa di archiviazione del documento e della velocità effettiva della query, è possibile calibrare le risorse in base ai requisiti di produzione.By handling document storage and query throughput separately, you can calibrate resourcing based on production requirements.

Passaggio 2: Creare un indiceStep 2: Create index

Per poter caricare il contenuto ricercabile, è innanzitutto necessario definire un indice di Ricerca di Azure.Before you can upload searchable content, you must first define an Azure Search index. Un indice è simile a una tabella di database che contiene i dati e può accettare query di ricerca.An index is like a database table that holds your data and can accept search queries. È necessario definire lo schema di indice per riflettere la struttura dei documenti in cui si desidera eseguire la ricerca, in modo analogo ai campi in un database.You define the index schema to map to reflect the structure of the documents you wish to search, similar to fields in a database.

È possibile creare uno schema nel portale di Azure o a livello di codice usando .NET SDK o l'API REST.A schema can be created in the Azure portal, or programmatically using the .NET SDK or REST API.

Passaggio 3: Indicizzare i datiStep 3: Index data

Dopo aver definito un indice, si è pronti per caricare il contenuto.After you define an index, you're ready to upload content. È possibile usare un modello push o pull.You can use either a push or pull model.

Il modello pull recupera i dati da origini dati esterne.The pull model retrieves data from external data sources. È supportato tramite indicizzatori che semplificano e automatizzano degli aspetti dell'operazione di inserimento di dati, ad esempio la connessione, la lettura e la serializzazione dei dati.It's supported through indexers that streamline and automate aspects of data ingestion, such as connecting to, reading, and serializing data. Gli indicizzatori sono disponibili per Azure Cosmos DB, Database SQL di Azure, Archiviazione BLOB di Azure e SQL Server ospitato in una macchina virtuale di Azure.Indexers are available for Azure Cosmos DB, Azure SQL Database, Azure Blob Storage, and SQL Server hosted in an Azure VM. È possibile configurare un indicizzatore per l'aggiornamento dati su richiesta o pianificato.You can configure an indexer for on demand or scheduled data refresh.

Il modello push viene fornito tramite il componente SDK o l'API REST per l'invio di documenti aggiornati a un indice.The push model is provided through the SDK or REST APIs, used for sending updated documents to an index. È possibile eseguire il push dei dati da qualsiasi set di dati usando il formato JSON.You can push data from virtually any dataset using the JSON format. Per informazioni sul caricamento dei dati, vedere Aggiungere, aggiornare o eliminare documenti oppure Come usare .NET SDK.See Add, update, or delete Documents or How to use the .NET SDK) for guidance on loading data.

Dopo avere compilato un indice, è possibile eseguire query di ricerca nell'endpoint di servizio tramite semplici richieste HTTP con l'API REST o .NET SDK.After populating an index, you can issue search queries to your service endpoint using simple HTTP requests with REST API or the .NET SDK.

Ricerca di Azure e altre soluzioni di ricercaHow Azure Search compares

I clienti spesso si chiedono quali siano le differenze tra Ricerca di Azure e le altre soluzioni di ricerca.Customers often ask how Azure Search compares with other search-related solutions. Nella tabella seguente sono riepilogate le principali differenze.The following table summarizes key differences.

Confronto conCompared to Differenze principaliKey differences
BingBing API Ricerca Web Bing ricerca i termini corrispondenti inviati negli indici in Bing.com.Bing Web Search API searches the indexes on Bing.com for matching terms you submit. Gli indici sono generati da contenuti Web HTML, XML e di altro tipo nei siti pubblici.Indexes are built from HTML, XML, and other web content on public sites. Ricerca personalizzata Bing offre la stessa tecnologia di ricerca Web per tipi di contenuto Web aventi come ambito siti Web specifici.Bing Custom Search offers the same crawler technology for web content types, scoped to individual web sites.

Ricerca di Azure esegue le ricerche in un indice definito e popolato con dati e documenti di cui si è proprietari e spesso aventi origini diverse.Azure Search searches an index you define, populated with data and documents you own, often from diverse sources. Ricerca di Azure dispone di funzionalità di ricerca Web per alcune origini dati tramite gli indicizzatori, ma è possibile eseguire il push di qualsiasi documento JSON conforme allo schema di indicizzazione in un'unica risorsa consolidata disponibile per la ricerca.Azure Search has crawler capabilities for some data sources through indexers, but you can push any JSON document that conforms to your index schema into a single, consolidated searchable resource.
Ricerca nel databaseDatabase search La ricerca full-text di SQL Server interessa i contenuti interni al sistema di gestione del database nelle tabelle SQL.SQL Server full text search is for content internal to the DBMS, in SQL tables.

Ricerca di Azure archivia i contenuti provenienti da origini eterogenee e offre funzionalità di elaborazione specializzata del testo, ad esempio l'analisi linguistica e l'analisi personalizzata.Azure Search stores content from heterogeneous sources and offers specialized text processing features such as linguistic and custom analysis. Il motore di ricerca full-text di Ricerca di Azure è stato sviluppato in base a Apache Lucene, uno standard del settore per il recupero delle informazioni.The full text search engine in Azure Search is built on Apache Lucene, an industry standard in information retrieval.

L'uso delle risorse è un altro punto da considerare.Resource utilization is another inflection point. La ricerca del linguaggio naturale è spesso impegnativa da un punto di vista computazionale.Natural language search is often computationally intensive. L'offload delle ricerche grazie a una soluzione dedicata consente di risparmiare risorse da destinare all'elaborazione delle transazioni.Offloading search to a dedicated solution preserves resources for transaction processing. Dalla ricerca di esternalizzazione, è possibile modificare facilmente la scala in modo che corrisponda al volume della query.By externalizing search, you can easily adjust scale to match query volume.
Soluzione di ricerca dedicataDedicated search solution Le soluzioni in locale o basate su servizi cloud sono soluzioni di ricerca dedicate con funzionalità complete.On premises or cloud service solutions are dedicated search solutions with full spectrum functionality. Le tecnologie di ricerca in genere consentono di controllare le pipeline di query e indicizzazione, offrono l'accesso a sintassi di query e filtro più complete, controllano la priorità e la rilevanza e sono caratterizzate da funzionalità di ricerca intelligente e mirata.Search technologies typically offer control over indexing and query pipelines, access to richer query and filtering syntax, control over rank and relevance, and features for self-directed and intelligent search.

È possibile trovare soluzioni di ricerca dedicate come servizi cloud oppure come server autonomi ospitati in locale o in macchine virtuali.You can find dedicated search solutions offered as a cloud service or as a standalone server hosted on premises or on a virtual machine. Un servizio cloud è la scelta giusta se si desidera una soluzione chiavi in mano con sovraccarico e manutenzione minimi e scala regolabile.A cloud service is the right choice if you want a turn-key solution with minimal overhead and maintenance, and adjustable scale.

All'interno del paradigma di cloud, molti provider offrono funzionalità di base simili, con ricerca full-text, ricerca geografica e la possibilità di gestire un certo livello di ambiguità negli input di ricerca.Within the cloud paradigm, several providers offer comparable baseline features, with full-text search, geo-search, and the ability to handle a certain level of ambiguity in search inputs. In genere sono una funzionalità specializzata o la semplicità e la facilità d'uso generale di API, strumenti e gestione a determinare la scelta ideale.Typically, it's a specialized feature, or the ease and overall simplicity of APIs, tools, and management that determines the best fit.

Tra i provider di cloud, Ricerca di Azure offre le migliori prestazioni nei carichi di lavoro con ricerca full-text in archivi di contenuti e database in Azure, per le app che fanno principalmente affidamento sulla ricerca per il recupero delle informazioni e l'esplorazione dei contenuti.Among cloud providers, Azure Search is strongest for full text search workloads over content stores and databases on Azure, for apps that rely primarily on search for both information retrieval and content navigation. Ecco i principali vantaggi:Key strengths include:

  • Integrazione dei dati in Azure (crawler) al livello di indicizzazioneAzure data integration (crawlers) at the indexing layer
  • Portale di Azure per la gestione centralizzataAzure portal for central management
  • Scalabilità, affidabilità e massima disponibilità proprie di AzureAzure scale, reliability, and world-class availability
  • Analisi linguistica e personalizzata, con analizzatori per una robusta ricerca full-text in 56 lingueLinguistic and custom analysis, with analyzers for solid full text search in 56 languages
  • Funzionalità di base comuni per le app basate sulla ricerca: assegnazione dei punteggi, esplorazione in base a facet, suggerimenti, sinonimi, ricerca geografica e così via.Core features common to search-centric apps: scoring, faceting, suggestions, synonyms, geo-search, and more.

Nota

Le origini dati diverse da Azure non sono completamente supportate, ma si basano su una metodologia di push più dispendiosa a livello di codice piuttosto che sugli indicizzatori.Non-Azure data sources are fully supported, but rely on a more code-intensive push methodology rather than indexers. Usando le API è possibile reindirizzare qualsiasi raccolta di documenti JSON in un indice di Ricerca di Azure.Using APIs, you can pipe any JSON document collection to an Azure Search index.

Tra i clienti, i casi in grado di sfruttare la gamma più ampia di funzionalità di Ricerca di Azure includono cataloghi online, programmi line of business e applicazioni di individuazione di documenti.Among our customers, those able to leverage the widest range of features in Azure Search include online catalogs, line-of-business programs, and document discovery applications.

API REST | .NET SDKREST API | .Net SDK

Mentre è possibile eseguire nel portale molte attività, la Ricerca di Azure è pensata per gli sviluppatori che vogliono integrare funzionalità di ricerca in applicazioni esistenti.While many tasks can be performed in the portal, Azure Search is intended for developers who want to integrate search functionality into existing applications. Sono disponibili le seguenti interfacce di programmazione.The following programming interfaces are available.

PiattaformaPlatform DescrizioneDescription
RESTREST Comandi HTTP supportati da qualsiasi piattaforma e linguaggio di programmazione, inclusi Xamarin, Java e JavaScriptHTTP commands supported by any programming platform and language, including Xamarin, Java, and JavaScript
.NET SDK.NET SDK Il wrapper .NET per l'API REST offre una codifica efficiente in C# e altri linguaggi di codice destinati a .NET Framework.NET wrapper for the REST API offers efficient coding in C# and other managed-code languages targeting the .NET Framework

Versione di prova gratuitaFree trial

I sottoscrittori di Azure possono effettuare il provisioning di un servizio al livello gratuito.Azure subscribers can provision a service in the Free tier.

Se non si è abbonati, è possibile aprire un account Azure gratuitamente.If you aren't a subscriber, you can open an Azure account for free. Si riceveranno crediti per provare i servizi di Azure a pagamento.You get credits for trying out paid Azure services. Quando i crediti saranno esauriti, sarà possibile mantenere l'account e usare i servizi di Azure gratuiti.After they're used up, you can keep the account and use free Azure services. Verranno applicati addebiti alla carta di credito solo se l'utente modifica le impostazioni e richiede esplicitamente l'addebito.Your credit card is never charged unless you explicitly change your settings and ask to be charged.

In alternativa, è possibile attivare i benefici della sottoscrizione MSDN: con la sottoscrizione MSDN ogni mese si accumulano crediti che è possibile usare per i servizi di Azure a pagamento.Alternatively, you can activate MSDN subscriber benefits: Your MSDN subscription gives you credits every month that you can use for paid Azure services.

Attività inizialiHow to get started

  1. Creare un servizio nel livello gratuito.Create a service in the Free tier.

  2. Eseguire una o più esercitazioni tra quelle indicate di seguito.Step through one or more of the following tutorials.

I motori di ricerca sono i principali fautori del recupero delle informazioni nelle app per dispositivi mobili, sul Web e negli archivi dati aziendali.Search engines are the common drivers of information retrieval in mobile apps, on the web, and in corporate data stores. La Ricerca di Azure offre gli strumenti per creare un'esperienza di ricerca simile a quella dei siti Web commerciali di grandi dimensioni.Azure Search gives you tools for creating a search experience similar to those on large commercial web sites.

In questo video di 9 minuti prodotto dal program manager Liam Cavanagh, sono presenti informazioni su come l'app possa trarre vantaggio dall'integrazione di un motore di ricerca.In this 9-minute video from program manager Liam Cavanagh, learn how integrating a search engine can benefit your app. Brevi demo riguardano le funzionalità principali in Ricerca di Azure e l'aspetto di un tipico flusso di lavoro.Short demos cover key features in Azure Search, and what a typical workflow looks like.

  • Da 0 a 3 minuti: funzionalità chiave e casi d'uso.0-3 minutes covers key features and use-cases.
  • Da 3 a 4 minuti: provisioning del servizio.3-4 minutes covers service provisioning.
  • Da 4 a 6 minuti: procedura guidata di importazione dei dati per creare un indice usando il set di dati predefinito per il mercato immobiliare.4-6 minutes covers Import Data wizard used to create an index using the built-in real estate dataset.
  • Da 6 a 9 minuti: Esplora ricerche e varie query.6-9 minutes covers Search Explorer and various queries.