Introduzione a Ricerca di Azure in Java

Informazioni su come compilare un'applicazione di ricerca Java personalizzata che utilizza Ricerca di Azure per l’esperienza di ricerca. L'esercitazione utilizza l’ API REST del servizio Ricerca di Azure per costruire gli oggetti e le operazioni utilizzati in questo esercizio.

Per eseguire questo esempio, è necessario un servizio di Ricerca di Azure, a cui è possibile iscriversi nel portale di Azure. Per istruzioni dettagliate, vedere Creare un servizio di Ricerca di Azure nel portale .

Per compilare e testare questo esempio è stato utilizzato il seguente software:

Informazioni sui dati

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. 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.

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. Nel codice del programma vengono fornite credenziali predefinite e la connessione all'origine dati online. In termini di accesso ai dati, non è necessaria alcuna ulteriore configurazione.

Nota

A questo set di dati è stato applicato un filtro per restare sotto il limite di 10.000 documenti del livello di prezzo gratuito. 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. Per ulteriori informazioni sulla capacità per ogni livello di prezzo, vedere Limiti e vincoli.

Informazioni sui file di programma

Nell'elenco seguente vengono descritti i file che sono rilevanti per questo esempio.

  • Search.jsp: fornisce l'interfaccia utente
  • SearchServlet.java: fornisce i metodi (simile a un controller MVC)
  • SearchServiceClient.java: gestisce le richieste HTTP
  • SearchServiceHelper.java: una classe di supporto che fornisce metodi statici
  • Document.Java: fornisce il modello di dati
  • config.properties: imposta l'URL del servizio di ricerca e la chiave dell'api
  • Pom.xml: una dipendenza Maven

Individuare il nome del servizio e la chiave API del servizio Ricerca di Azure

Per tutte le chiamate API REST a Ricerca di Azure è necessario specificare l'URL del servizio e una chiave API.

  1. Accedere al portale di Azure.
  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.
  3. Selezionare il servizio che si vuole usare.
  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.

  5. Copiare l'URL del servizio e una chiave di amministrazione. Sarà necessario utilizzarli in seguito, quando vengono aggiunti al file config.properties .

Scaricare i file di esempio

  1. Passare a AzureSearchJavaDemo in GitHub.
  2. Fare clic su Scarica ZIP, salvare il file con estensione zip su disco e quindi estrarre tutti i file in esso contenuti. È consigliabile estrarre i file nell'area di lavoro Java per trovare più facilmente il progetto in un secondo momento.
  3. I file di esempio sono di sola lettura. Fare clic con il pulsante destro del mouse sulle proprietà della cartella e deselezionare l'attributo di sola lettura.

Tutte le successive modifiche e le istruzioni di esecuzione verranno effettuate sui file in questa cartella.

Importare il progetto

  1. In Eclipse scegliere File > Importa > Generale > Progetti esistenti nell'area di lavoro.

  2. In Select root directory, passare alla cartella contenente i file di esempio. Selezionare la cartella che contiene la cartella .project. Il progetto verrà visualizzato nell’elenco Projects come elemento selezionato.

  3. Fare clic su Finish.
  4. Utilizzare Project Explorer per visualizzare e modificare i file. Se non è già aperto, fare clic su Finestra > Mostra visualizzazione > Esplora progetti oppure usare il collegamento per aprirlo.

Configurare l'URL del servizio e la chiave API

  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.
  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.
  3. In config.properties, sostituire "Api Key" con la chiave dell’api appropriata per il servizio. Successivamente, il nome del servizio (il primo componente dell'URL http://servicename.search.windows.net) sostituisce "service name" nello stesso file.

Configurare gli ambienti di progetto, compilazione e runtime

  1. In Eclipse fare clic con il pulsante destro del mouse sul progetto > Proprietà > Facet progetto in Esplora progetti.
  2. Selezionare Dynamic Web Module, Java e JavaScript.

  3. Fare clic su Apply.
  4. Selezionare Finestra > Preferenze > Server > Runtime Environments (Ambienti di runtime) > Aggiungi...
  5. Espandere Apache e selezionare la versione del server Apache Tomcat installata in precedenza. In questo sistema è installata la versione 8.

  6. Nella pagina successiva, specificare la directory di installazione di Tomcat. In un computer Windows, sarà probabilmente C:\Programmi\Microsoft Files\Apache Software Foundation\Tomcat versione.
  7. Fare clic su Fine.
  8. Selezionare Finestra > Preferenze > Java > Installed JREs (JRE installati) > Aggiungi.
  9. In Add JRE (Aggiungi JRE) selezionare Standard VM (VM standard).
  10. Fare clic su Avanti.
  11. Nella definizione dell'ambiente JRE, nella home di JRE, fare clic su Directory.
  12. Passare a Programmi > Java e selezionare il JDK installato in precedenza. È importante selezionare JDK come JRE.
  13. In Installed JREs, scegliere il JDK. Il risultato finale dovrebbe essere simile a quello riportato nella schermata seguente.

  14. Facoltativamente, selezionare Finestra > Web Browser > Internet Explorer per aprire l'applicazione in una finestra del browser esterno. L’utilizzo di un browser esterno offre una migliore esperienza di applicazione Web.

La configurazione del dispositivo è stata completata. A questo punto, compilare ed eseguire il progetto.

Compilare il progetto

  1. In Esplora progetti, fare clic con il pulsante destro del mouse sul progetto e scegliere Esegui come > Build Maven... per configurare il progetto.

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

I messaggi di stato vengono visualizzati nella finestra della console. Un messaggio di compilazione completata indica che il progetto è stato compilato senza errori.

Esecuzione dell'app

In questo ultimo passaggio, verrà eseguita l'applicazione in un ambiente di runtime del server locale.

Se ancora non è stato specificato un ambiente di runtime del server in Eclipse, è necessario eseguire innanzitutto tale operazione.

  1. In Project Explorer espandere WebContent.
  2. Fare clic con il pulsante destro del mouse su Search.jsp > Esegui come > Esegui come controllo server. Selezionare il server Apache Tomcat, quindi fare clic su 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. In Esplora progetti fare clic con il pulsante destro del mouse su Search.jsp > Esegui come > Configurazione di esecuzione. Selezionare il server Apache Tomcat. Fare clic su Arguments. Fare clic su Workspace o File system per impostare la cartella contenente il progetto.

Quando si esegue l'applicazione viene visualizzata una finestra del browser con una casella di ricerca per l'immissione di termini.

Attendere circa un minuto prima di fare clic su Ricerca per consentire al servizio di creare e caricare l'indice. Se si verifica un errore HTTP 404, è necessario attendere un po' più a lungo prima di riprovare.

Eseguire ricerche sui dati dei servizi geologici degli Stati Uniti

Il set di dati dei servizi geologici degli Stati Uniti include i dati relativi allo stato del Rhode Island. Se si fa clic su Ricerca su una casella di ricerca vuota, si otterranno le prime 50 voci, ossia l'impostazione predefinita.

L’immissione di un termine di ricerca fornirà al motore di ricerca un elemento con cui continuare. Provare a immettere un nome locale. "Roger Williams" è stato il primo governatore del Rhode Island. Numerosi parchi, edifici e scuole prendono il suo nome.

È inoltre possibile tentare con uno dei termini seguenti:

  • Pawtucket
  • Pembroke
  • goose +cape

Passaggi successivi

Questa è la prima esercitazione di Ricerca di Azure basata su Java e sul set di dati dei servizi geologici degli Stati Uniti. Nel corso del tempo, l’esercitazione sarà ampliata per illustrare le funzionalità di ricerca aggiuntive che potrebbero essere utili nelle soluzioni personalizzate.

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. È inoltre possibile migliorare la pagina dei risultati della ricerca aggiungendo conteggi e raggruppando i documenti in modo che gli utenti possano sfogliare i risultati.

Novità in Ricerca di Azure È consigliabile provare altre esercitazioni per acquisire consapevolezza di ciò che è possibile creare. Visitare la pagina della documentazione per trovare ulteriori risorse. È inoltre possibile visualizzare i collegamenti nell'elenco di video ed esercitazioni per accedere ad altre informazioni.