Ajouter un document à Azure Search Service (Java)

Préparation préalable

code


package hello.azure;

import java.net.URI;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class AzureSearchDocumentAdd {

	public static void main(String[] args) throws Exception {

		// @see
		// https://docs.microsoft.com/ja-jp/rest/api/searchservice/create-index
		// https://docs.microsoft.com/ja-jp/rest/api/searchservice/addupdate-or-delete-documents

		// POST https://[service name].search.windows.net/indexes/[index name]/docs/index?api-version=[api-version]
		// Content-Type: application/json
		// api-key: [admin key]

		// from console
		String adminKey = "xxx";

		HttpClient httpclient = HttpClients.createDefault();

		String serviceName = "yyy";
		String indexName = "zzz";

		String dateValue = (new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")).format(new Date());

		String json = "{" //
				+ "'value': [" //
				+ "{" //Même structure que le terrain
				+ "'@search.action': 'upload'" + "," // <-Équivalent à une commande
				+ "'id': '001'" + "," //
				+ "'description': 'Hello'" + "," //
				+ "'date': '" + dateValue + "'" + ", " //
				+ "'item1': 'aaa'" + ", " //
				+ "'item2': 100" + ", " //
				+ "'item3':[{'item3_1':'bbb'}]" //
				+ "}" //
				+ "]" //
				+ "}" //
		; // 

		try {
			URIBuilder builder = new URIBuilder("https://" + serviceName + ".search.windows.net/indexes/" + indexName
					+ "/docs/index?api-version=2019-05-06"); //

			URI uri = builder.build();
			HttpPost request = new HttpPost(uri);
			request.setHeader("Content-Type", "application/json");
			request.setHeader("api-key", adminKey);

			// Request body
			StringEntity reqEntity = new StringEntity(json);
			request.setEntity(reqEntity);

			HttpResponse response = httpclient.execute(request);
			HttpEntity entity = response.getEntity();

			int responseCode = response.getStatusLine().getStatusCode();
			if (responseCode == 200) {
				System.err.println(
						"200 is returned for a successful response, meaning that all items have been stored durably and will start to be indexed.");
			} else if (responseCode == 201) {
				System.err.println("201 (for newly uploaded documents)");
			} else {
				System.err.println(responseCode);
			}
			if (entity != null) {
				System.out.println(EntityUtils.toString(entity));
			}

		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}

}


résultat

{
"@odata.context":"https://yyy.search.windows.net/indexes('zzz')/$metadata#Collection(Microsoft.Azure.Search.V2019_05_06.IndexResult)",
"value":[
 {"key":"001","status":true,"errorMessage":null,"statusCode":200}
]
}

Vérification

Vous pouvez également essayer des requêtes sur l'index depuis la console d'administration.

Recommended Posts

Ajouter un document à Azure Search Service (Java)
Ajouter un filigrane à Java au document PDF
[Java] Ajouter WordArt au document Word
Java (add2)
Java (ajouter)
Introduction aux algorithmes avec java-Search (recherche prioritaire en profondeur)
Ajouter des notes de bas de page aux documents Word en Java
Création d'applications Web Java sur Azure Web Apps
Ajouter l'attribut SameSite au cookie en Java
Introduction aux algorithmes avec java --Search (recherche de priorité de largeur)
Upsert du SDK Java vers Azure Cosmos DB
[Java] Ajouter des guillemets uniquement à des colonnes CSV spécifiques
Introduction aux algorithmes avec java --Search (bit full search)
Déployez des applications Web Java sur Azure avec maven
Méthode de recherche
Essayez Azure Service Fabric (Java) sur un environnement Mac-Local
Charger et télécharger des notes en Java sur le stockage Azure
[Java] Introduction à Java
[Java] Article pour ajouter une validation avec Spring Boot 2.3.1.
Introduction à Java
Résumé du document Java 11
Sélectionnez * de Java SDK vers Azure Cosmos DB
La construction du chemin PKIX a échoué: ajouter un certificat SSL à java
Utilisez Maven pour ajouter votre bibliothèque Java préférée à votre environnement.
Recherche par requête POST avec Azure Search + Java Apache HttpClient
Obtenez la configuration Azure App Service pour Java avec System.getEnv ()
Android-Télécharger des fichiers image vers Azure Blob Storage en Java
[Java] J'ai essayé de mettre en œuvre la recherche de produits de l'API Yahoo
[Java] [Signature XML] Ajouter un préfixe et un ID à la balise Signature
Ajouter un fichier au fichier jar
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Document PDF compressé Java
[Java] Connectez-vous à MySQL
Fonctions Azure en Java
Améliorations de Kotlin à Java
[Note] Java: recherche de chaînes de caractères
[Java] Initialisation, ajout, acquisition
De Java à Ruby !!
Introduction à la commande java
java: Ajouter une date [Note]
Comment utiliser les jetons SAS pour les hubs d'événements Azure (Java)
20190803_Java & k8s sur Azure L'histoire d'aller au festival
Ajouter du texte à BlobItem avec Azure BlobStorage SDK Java V8