Introduzione a Ricerca di Azure in JavaGet started with Azure Search in Java

Informazioni su come compilare un'applicazione di ricerca Java personalizzata che utilizza Ricerca di Azure per l’esperienza di ricerca.Learn how to build a custom Java search application that uses Azure Search for its search experience. L'esercitazione utilizza l’ API REST del servizio Ricerca di Azure per costruire gli oggetti e le operazioni utilizzati in questo esercizio.This tutorial uses the Azure Search Service REST API to construct the objects and operations used in this exercise.

Per eseguire questo esempio, è necessario un servizio di Ricerca di Azure, a cui è possibile iscriversi nel portale di Azure.To run this sample, you must have an Azure Search service, which you can sign up for in the Azure Portal. Per istruzioni dettagliate, vedere Creare un servizio di Ricerca di Azure nel portale .See Create an Azure Search service in the portal for step-by-step instructions.

Per compilare e testare questo esempio è stato utilizzato il seguente software:We used the following software to build and test this sample:

Informazioni sui datiAbout the data

L’applicazione di esempio usa i dati dei servizi geologici degli Stati Uniti (USGS)con il filtro dello stato del Rhode Island per ridurre la dimensione del set di dati.This sample application uses data from the United States Geological Services (USGS), filtered on the state of Rhode Island to reduce the dataset size. Tali dati saranno utilizzati per compilare un'applicazione di ricerca che restituisce gli edifici di riferimento quali ospedali e scuole nonché caratteristiche geologiche come fiumi, laghi e vette.We'll use this data to build a search application that returns landmark buildings such as hospitals and schools, as well as geological features like streams, lakes, and summits.

In questa applicazione, il programma SearchServlet.java compila e carica l'indice utilizzando un costrutto Indexer , recuperando il set di dati filtrato dei servizi geologici degli Stati Uniti da un database SQL di Azure pubblico.In this application, the SearchServlet.java program builds and loads the index using an Indexer construct, retrieving the filtered USGS dataset from a public Azure SQL Database. Nel codice del programma vengono fornite credenziali predefinite e la connessione all'origine dati online.Predefined credentials and connection information to the online data source are provided in the program code. In termini di accesso ai dati, non è necessaria alcuna ulteriore configurazione.In terms of data access, no further configuration is necessary.

Nota

A questo set di dati è stato applicato un filtro per restare sotto il limite di 10.000 documenti del livello di prezzo gratuito.We applied a filter on this dataset to stay under the 10,000 document limit of the free pricing tier. Se si utilizza il livello standard, questo limite non viene applicato ed è possibile modificare il codice per l'utilizzo di un set di dati più grande.If you use the standard tier, this limit does not apply, and you can modify this code to use a bigger dataset. Per ulteriori informazioni sulla capacità per ogni livello di prezzo, vedere Limiti e vincoli.For details about capacity for each pricing tier, see Limits and constraints.

Informazioni sui file di programmaAbout the program files

Nell'elenco seguente vengono descritti i file che sono rilevanti per questo esempio.The following list describes the files that are relevant to this sample.

  • Search.jsp: fornisce l'interfaccia utenteSearch.jsp: Provides the user interface
  • SearchServlet.java: fornisce i metodi (simile a un controller MVC)SearchServlet.java: Provides methods (similar to a controller in MVC)
  • SearchServiceClient.java: gestisce le richieste HTTP SearchServiceClient.java: Handles HTTP requests
  • SearchServiceHelper.java: una classe di supporto che fornisce metodi staticiSearchServiceHelper.java: A helper class that provides static methods
  • Document.Java: fornisce il modello di datiDocument.java: Provides the data model
  • config.properties: imposta l'URL del servizio di ricerca e la chiave dell'apiconfig.properties: Sets the Search service URL and api-key
  • Pom.xml: una dipendenza MavenPom.xml: A Maven dependency

Individuare il nome del servizio e la chiave API del servizio Ricerca di AzureFind the service name and api-key of your Azure Search service

Per tutte le chiamate API REST a Ricerca di Azure è necessario specificare l'URL del servizio e una chiave API.All REST API calls into Azure Search require that you provide the service URL and an api-key.

  1. Accedere al portale di Azure.Sign in to the Azure Portal.
  2. Nella barra di spostamento, fare clic su Servizio di ricerca per elencare tutti i servizi di Ricerca di Azure con provisioning per la sottoscrizione.In the jump bar, click Search service to list all of the Azure Search services provisioned for your subscription.
  3. Selezionare il servizio che si vuole usare.Select the service you want to use.
  4. Nel dashboard del servizio saranno presenti i riquadri per le informazioni essenziali, nonché l'icona della chiave per l'accesso alle chiavi di amministrazione.On the service dashboard, you'll see tiles for essential information as well as the key icon for accessing the admin keys.

  5. Copiare l'URL del servizio e una chiave di amministrazione.Copy the service URL and an admin key. Sarà necessario utilizzarli in seguito, quando vengono aggiunti al file config.properties .You will need them later, when you add them to the config.properties file.

Scaricare i file di esempioDownload the sample files

  1. Passare a AzureSearchJavaDemo in GitHub.Go to AzureSearchJavaDemo on GitHub.
  2. Fare clic su Scarica ZIP, salvare il file con estensione zip su disco e quindi estrarre tutti i file in esso contenuti.Click Download ZIP, save the .zip file to disk, and then extract all the files it contains. È consigliabile estrarre i file nell'area di lavoro Java per trovare più facilmente il progetto in un secondo momento.Consider extracting the files into your Java workspace to make it easier to find the project later.
  3. I file di esempio sono di sola lettura.The sample files are read-only. Fare clic con il pulsante destro del mouse sulle proprietà della cartella e deselezionare l'attributo di sola lettura.Right-click folder properties and clear the read-only attribute.

Tutte le successive modifiche e le istruzioni di esecuzione verranno effettuate sui file in questa cartella.All subsequent file modifications and run statements will be made against files in this folder.

Importare il progettoImport project

  1. In Eclipse scegliere File > Importa > Generale > Progetti esistenti nell'area di lavoro.In Eclipse, choose File > Import > General > Existing Projects into Workspace.

  2. In Select root directory, passare alla cartella contenente i file di esempio.In Select root directory, browse to the folder containing sample files. Selezionare la cartella che contiene la cartella .project.Select the folder that contains the .project folder. Il progetto verrà visualizzato nell’elenco Projects come elemento selezionato.The project should appear in the Projects list as a selected item.

  3. Fare clic su Finish.Click Finish.
  4. Utilizzare Project Explorer per visualizzare e modificare i file.Use Project Explorer to view and edit the files. Se non è già aperto, fare clic su Finestra > Mostra visualizzazione > Esplora progetti oppure usare il collegamento per aprirlo.If it's not already open, click Window > Show View > Project Explorer or use the shortcut to open it.

Configurare l'URL del servizio e la chiave APIConfigure the service URL and api-key

  1. In Esplora progetti fare doppio clic su config.properties per modificare le impostazioni di configurazione contenenti il nome del server e la chiave dell'API.In Project Explorer, double-click config.properties to edit the configuration settings containing the server name and api-key.
  2. Vedere i passaggi descritti in precedenza in questo articolo, in cui sono stati trovati l'URL del servizio e la chiave API nel portale di Azure, per ottenere i valori da immettere in config.properties.Refer to the steps earlier in this article, where you found the service URL and api-key in the Azure Portal, to get the values you will now enter into config.properties.
  3. In config.properties, sostituire "Api Key" con la chiave dell’api appropriata per il servizio.In config.properties, replace "Api Key" with the api-key for your service. Successivamente, il nome del servizio (il primo componente dell'URL http://servicename.search.windows.net) sostituisce "service name" nello stesso file.Next, service name (the first component of the URL http://servicename.search.windows.net) replaces "service name" in the same file.

Configurare gli ambienti di progetto, compilazione e runtimeConfigure the project, build and runtime environments

  1. In Eclipse fare clic con il pulsante destro del mouse sul progetto > Proprietà > Facet progetto in Esplora progetti.In Eclipse, in Project Explorer, right-click the project > Properties > Project Facets.
  2. Selezionare Dynamic Web Module, Java e JavaScript.Select Dynamic Web Module, Java, and JavaScript.

  3. Fare clic su Apply.Click Apply.
  4. Selezionare Finestra > Preferenze > Server > Runtime Environments (Ambienti di runtime) > Aggiungi...Select Window > Preferences > Server > Runtime Environments > Add...
  5. Espandere Apache e selezionare la versione del server Apache Tomcat installata in precedenza.Expand Apache and select the version of the Apache Tomcat server you previously installed. In questo sistema è installata la versione 8.On our system, we installed version 8.

  6. Nella pagina successiva, specificare la directory di installazione di Tomcat.On the next page, specify the Tomcat installation directory. In un computer Windows, sarà probabilmente C:\Programmi\Microsoft Files\Apache Software Foundation\Tomcat versione.On a Windows computer, this will most likely be C:\Program Files\Apache Software Foundation\Tomcat version.
  7. Fare clic su Fine.Click Finish.
  8. Selezionare Finestra > Preferenze > Java > Installed JREs (JRE installati) > Aggiungi.Select Window > Preferences > Java > Installed JREs > Add.
  9. In Add JRE (Aggiungi JRE) selezionare Standard VM (VM standard).In Add JRE, select Standard VM.
  10. Fare clic su Avanti.Click Next.
  11. Nella definizione dell'ambiente JRE, nella home di JRE, fare clic su Directory.In JRE Definition, in JRE home, click Directory.
  12. Passare a Programmi > Java e selezionare il JDK installato in precedenza.Navigate to Program Files > Java and select the JDK you previously installed. È importante selezionare JDK come JRE.It's important to select the JDK as the JRE.
  13. In Installed JREs, scegliere il JDK.In Installed JREs, choose the JDK. Il risultato finale dovrebbe essere simile a quello riportato nella schermata seguente.Your settings should look similar to the following screenshot.

  14. Facoltativamente, selezionare Finestra > Web Browser > Internet Explorer per aprire l'applicazione in una finestra del browser esterno.Optionally, select Window > Web Browser > Internet Explorer to open the application in an external browser window. L’utilizzo di un browser esterno offre una migliore esperienza di applicazione Web.Using an external browser gives you a better Web application experience.

La configurazione del dispositivo è stata completata.You have now completed the configuration tasks. A questo punto, compilare ed eseguire il progetto.Next, you'll build and run the project.

Compilare il progettoBuild the project

  1. In Esplora progetti, fare clic con il pulsante destro del mouse sul progetto e scegliere Esegui come > Build Maven... per configurare il progetto.In Project Explorer, right-click the project name and choose Run As > Maven build... to configure the project.

  2. In Edit Configuration, in Goals, digitare "clean install", quindi fare clic su Run.In Edit Configuration, in Goals, type "clean install", and then click Run.

I messaggi di stato vengono visualizzati nella finestra della console.Status messages are output to the console window. Un messaggio di compilazione completata indica che il progetto è stato compilato senza errori.You should see BUILD SUCCESS indicating the project built without errors.

Esecuzione dell'appRun the app

In questo ultimo passaggio, verrà eseguita l'applicazione in un ambiente di runtime del server locale.In this last step, you will run the application in a local server runtime environment.

Se ancora non è stato specificato un ambiente di runtime del server in Eclipse, è necessario eseguire innanzitutto tale operazione.If you haven't yet specified a server runtime environment in Eclipse, you'll need to do that first.

  1. In Project Explorer espandere WebContent.In Project Explorer, expand WebContent.
  2. Fare clic con il pulsante destro del mouse su Search.jsp > Esegui come > Esegui come controllo server.Right-click Search.jsp > Run As > Run on Server. Selezionare il server Apache Tomcat, quindi fare clic su Run.Select the Apache Tomcat server, and then click Run.

Suggerimento

Se è stata utilizzata un'area di lavoro non predefinita per archiviare il progetto, è necessario modificare la configurazione di esecuzione in modo che punti al percorso del progetto per evitare un errore di avvio del server.If you used a non-default workspace to store your project, you'll need to modify Run Configuration to point to the project location to avoid a server start-up error. In Esplora progetti fare clic con il pulsante destro del mouse su Search.jsp > Esegui come > Configurazione di esecuzione.In Project Explorer, right-click Search.jsp > Run As > Run Configurations. Selezionare il server Apache Tomcat.Select the Apache Tomcat server. Fare clic su Arguments.Click Arguments. Fare clic su Workspace o File system per impostare la cartella contenente il progetto.Click Workspace or File System to set the folder containing the project.

Quando si esegue l'applicazione viene visualizzata una finestra del browser con una casella di ricerca per l'immissione di termini.When you run the application, you should see a browser window, providing a search box for entering terms.

Attendere circa un minuto prima di fare clic su Ricerca per consentire al servizio di creare e caricare l'indice.Wait about one minute before clicking Search to give the service time to create and load the index. Se si verifica un errore HTTP 404, è necessario attendere un po' più a lungo prima di riprovare.If you get an HTTP 404 error, you just need to wait a little bit longer before trying again.

Eseguire ricerche sui dati dei servizi geologici degli Stati UnitiSearch on USGS data

Il set di dati dei servizi geologici degli Stati Uniti include i dati relativi allo stato del Rhode Island.The USGS data set includes records that are relevant to the state of Rhode Island. Se si fa clic su Ricerca su una casella di ricerca vuota, si otterranno le prime 50 voci, ossia l'impostazione predefinita.If you click Search on an empty search box, you will get the top 50 entries, which is the default.

L’immissione di un termine di ricerca fornirà al motore di ricerca un elemento con cui continuare.Entering a search term will give the search engine something to go on. Provare a immettere un nome locale.Try entering a regional name. "Roger Williams" è stato il primo governatore del Rhode Island."Roger Williams" was the first governor of Rhode Island. Numerosi parchi, edifici e scuole prendono il suo nome.Numerous parks, buildings, and schools are named after him.

È inoltre possibile tentare con uno dei termini seguenti:You could also try any of these terms:

  • PawtucketPawtucket
  • PembrokePembroke
  • goose +capegoose +cape

Passaggi successiviNext steps

Questa è la prima esercitazione di Ricerca di Azure basata su Java e sul set di dati dei servizi geologici degli Stati Uniti.This is the first Azure Search tutorial based on Java and the USGS dataset. Nel corso del tempo, l’esercitazione sarà ampliata per illustrare le funzionalità di ricerca aggiuntive che potrebbero essere utili nelle soluzioni personalizzate.Over time, we'll extend this tutorial to demonstrate additional search features you might want to use in your custom solutions.

Se si dispone già delle nozioni di base di Ricerca di Azure, è possibile usare questo esempio come base per ulteriore sperimentazione, ad esempio ampliando la pagina di ricerca o implementando l'esplorazione basata su facet.If you already have some background in Azure Search, you can use this sample as a springboard for further experimentation, perhaps augmenting the search page, or implementing faceted navigation. È inoltre possibile migliorare la pagina dei risultati della ricerca aggiungendo conteggi e raggruppando i documenti in modo che gli utenti possano sfogliare i risultati.You can also improve upon the search results page by adding counts and batching documents so that users can page through the results.

Novità in Ricerca di AzureNew to Azure Search? È consigliabile provare altre esercitazioni per acquisire consapevolezza di ciò che è possibile creare.We recommend trying other tutorials to develop an understanding of what you can create. Visitare la pagina della documentazione per trovare ulteriori risorse.Visit our documentation page to find more resources. È inoltre possibile visualizzare i collegamenti nell'elenco di video ed esercitazioni per accedere ad altre informazioni.You can also view the links in our Video and Tutorial list to access more information.