Hinzufügen eines Dokuments zum Azure Search Service (Java)

Vorbereitungen

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': [" //
				+ "{" //Gleiche Struktur wie das Feld
				+ "'@search.action': 'upload'" + "," // <-Entspricht einem Befehl
				+ "'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());
		}
	}

}


Ergebnis

{
"@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}
]
}

Bestätigung

Sie können auch Abfragen für den Index über die Administratorkonsole versuchen.

Recommended Posts

Hinzufügen eines Dokuments zum Azure Search Service (Java)
Fügen Sie dem PDF-Dokument ein Wasserzeichen zu Java hinzu
[Java] WordArt zum Word-Dokument hinzufügen
Java (add2)
Java (hinzufügen)
Einführung in Algorithmen mit Java-Suche (Tiefenprioritätssuche)
Fügen Sie Word-Dokumenten in Java Fußnoten hinzu
Erstellen von Java-Webanwendungen für Azure-Webanwendungen
Fügen Sie dem Cookie in Java das SameSite-Attribut hinzu
Einführung in Algorithmen mit Java --Search (Breitenprioritätssuche)
Upsert von Java SDK zu Azure Cosmos DB
[Java] Fügen Sie Anführungszeichen nur zu bestimmten CSV-Spalten hinzu
Einführung in Algorithmen mit Java --Search (Bit Full Search)
Stellen Sie Java-Webanwendungen mit maven in Azure bereit
Suchmethode
Probieren Sie Azure Service Fabric (Java) in einer Mac-Local-Umgebung aus
Laden Sie Notizen in Java in den Azure-Speicher hoch und laden Sie sie herunter
[Java] Einführung in Java
[Java] Artikel zum Hinzufügen einer Validierung mit Spring Boot 2.3.1.
Einführung in Java
Zusammenfassung des Java 11-Dokuments
Wählen Sie * aus dem Java SDK in Azure Cosmos DB
PKIX-Pfaderstellung fehlgeschlagen: Hinzufügen eines SSL-Zertifikats zu Java
Verwenden Sie Maven, um Ihrer Umgebung Ihre bevorzugte Java-Bibliothek hinzuzufügen.
Suche nach POST-Anforderung mit Azure Search + Java Apache HttpClient
Rufen Sie den Azure App Service für die Java-Konfiguration mit System.getEnv () ab.
Android-Laden Sie Bilddateien in den Azure Blob-Speicher in Java hoch
[Java] Ich habe versucht, die Yahoo API-Produktsuche zu implementieren
[Java] [XML-Signatur] Fügen Sie dem Signatur-Tag Präfix und ID hinzu
Datei zur JAR-Datei hinzufügen
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Java-komprimiertes PDF-Dokument
[Java] Stellen Sie eine Verbindung zu MySQL her
Azure funktioniert in Java
Kotlins Verbesserungen an Java
[Hinweis] Java: Zeichenfolgensuche
[Java] Initialisierung, Hinzufügung, Erfassung
Von Java zu Ruby !!
Einführung in den Java-Befehl
Java: Datum hinzufügen [Hinweis]
Verwendung von SAS-Token für Azure Event Hubs (Java)
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Hängen Sie mit Azure BlobStorage SDK Java V8 Text an BlobItem an