Einen Index abfragen - Amazon Kendra

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Index abfragen

Wenn Sie Ihren Index durchsuchen, Amazon Kendra verwendet alle Informationen, die Sie zu Ihren Dokumenten angegeben haben, um die Dokumente zu ermitteln, die für die eingegebenen Suchbegriffe am relevantesten sind. Dabei werden unter anderem folgende Punkte Amazon Kendra berücksichtigt:

  • Der Text oder der Hauptteil des Dokuments.

  • Der Titel des Dokuments.

  • Benutzerdefinierte Textfelder, die Sie als durchsuchbar markiert haben.

  • Das von Ihnen angegebene Datumsfeld sollte verwendet werden, um die „Aktualität“ eines Dokuments zu bestimmen.

  • Jedes andere Feld, das relevante Informationen liefern könnte.

Amazon Kendra kann die Antwort auch auf der Grundlage von Feld-/Attributfiltern filtern, die Sie möglicherweise für die Suche festgelegt haben. Wenn Sie beispielsweise über ein benutzerdefiniertes Feld mit dem Namen „Abteilung“ verfügen, können Sie die Antwort so filtern, dass nur Dokumente aus einer Abteilung mit dem Namen „Rechtsabteilung“ zurückgegeben werden. Weitere Informationen finden Sie unter Benutzerdefinierte Felder oder Attribute.

Die zurückgegebenen Suchergebnisse sind nach der Relevanz sortiert, die für jedes Dokument Amazon Kendra maßgeblich ist. Die Ergebnisse sind paginiert, sodass Sie Ihrem Benutzer jeweils eine Seite anzeigen können.

Verwenden Sie AMAZON, um nach Dokumenten zu suchen, die Sie mit Amazon Kendra for Amazon Lex indexiert haben. KendraSearchIntent. Ein Beispiel für die Konfiguration Amazon Kendra mit Amazon Lex finden Sie unter Einen FAQ-Bot für einen Amazon Kendra Index erstellen.

Das folgende Beispiel zeigt, wie ein Index durchsucht wird. Amazon Kendra bestimmt den Typ des Suchergebnisses (Antwort, Dokument, Frage-Antwort), der für die Abfrage am besten geeignet ist. Sie können nicht so konfigurieren Amazon Kendra , dass eine bestimmte Art von Suchantwort (Antwort, Dokument, Frage-Antwort) auf eine Abfrage zurückgegeben wird.

Informationen zu den Abfrageantworten finden Sie unter. Antworten und Antworttypen abfragen

Voraussetzungen

Bevor Sie mit der Query API einen Index abfragen:

  • Richten Sie die erforderlichen Berechtigungen für einen Index ein und stellen Sie eine Verbindung zu Ihrer Datenquelle her oder laden Sie Ihre Dokumente stapelweise hoch. Weitere Informationen finden Sie unter IAM Rollen. Sie verwenden den Amazon-Ressourcennamen der Rolle, wenn Sie die API aufrufen, um einen Index- und Datenquellen-Connector oder einen Batch-Upload von Dokumenten zu erstellen.

  • Richten Sie entweder AWS Command Line Interface das SDK ein oder rufen Sie die Amazon Kendra Konsole auf. Weitere Informationen finden Sie unter Einrichten von Amazon Kendra.

  • Erstellen Sie einen Index und stellen Sie eine Verbindung zu einer Datenquelle mit Dokumenten her oder laden Sie Dokumente stapelweise hoch. Weitere Informationen finden Sie unter Erstellen eines Indexes und Erstellen eines Datenquellenconnectors.

Einen Index durchsuchen (Konsole)

Sie können die Amazon Kendra Konsole verwenden, um Ihren Index zu suchen und zu testen. Sie können Abfragen stellen und die Ergebnisse sehen.

Um einen Index mit der Konsole zu durchsuchen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon Kendra Konsole unter http://console.aws.amazon.com/kendra/.

  2. Wählen Sie im Navigationsbereich Indizes aus.

  3. Wählen Sie Ihren Index aus.

  4. Wählen Sie im Navigationsmenü die Option, um Ihren Index zu durchsuchen.

  5. Geben Sie eine Abfrage in das Textfeld ein und drücken Sie dann die Eingabetaste.

  6. Amazon Kendra gibt die Ergebnisse der Suche zurück.

Sie können die Abfrage-ID für die Suche auch abrufen, indem Sie auf das Glühbirnensymbol in der Seitenleiste klicken.

Einen Index durchsuchen (SDK)

Um einen Index mit Python oder Java zu durchsuchen
  • Im folgenden Beispiel wird ein Index durchsucht. Ändern Sie den Wert von query in Ihre Suchabfrage index_id und/oder in indexId den Indexbezeichner des Indexes, den Sie durchsuchen möchten.

    Sie können die Abfrage-ID für die Suche auch als Teil der Antwortelemente abrufen, wenn Sie die Abfrage-API aufrufen.

    Python
    import boto3 import pprint kendra = boto3.client("kendra") # Provide the index ID index_id = "index-id" # Provide the query text query = "query text" response = kendra.query( QueryText = query, IndexId = index_id) print("\nSearch results for query: " + query + "\n") for query_result in response["ResultItems"]: print("-------------------") print("Type: " + str(query_result["Type"])) if query_result["Type"]=="ANSWER" or query_result["Type"]=="QUESTION_ANSWER": answer_text = query_result["DocumentExcerpt"]["Text"] print(answer_text) if query_result["Type"]=="DOCUMENT": if "DocumentTitle" in query_result: document_title = query_result["DocumentTitle"]["Text"] print("Title: " + document_title) document_text = query_result["DocumentExcerpt"]["Text"] print(document_text) print("------------------\n\n")
    Java
    package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.QueryRequest; import software.amazon.awssdk.services.kendra.model.QueryResponse; import software.amazon.awssdk.services.kendra.model.QueryResultItem; public class SearchIndexExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String query = "query text"; String indexId = "index-id"; QueryRequest queryRequest = QueryRequest .builder() .queryText(query) .indexId(indexId) .build(); QueryResponse queryResponse = kendra.query(queryRequest); System.out.println(String.format("\nSearch results for query: %s", query)); for(QueryResultItem item: queryResponse.resultItems()) { System.out.println("----------------------"); System.out.println(String.format("Type: %s", item.type())); switch(item.type()) { case QUESTION_ANSWER: case ANSWER: String answerText = item.documentExcerpt().text(); System.out.println(answerText); break; case DOCUMENT: String documentTitle = item.documentTitle().text(); System.out.println(String.format("Title: %s", documentTitle)); String documentExcerpt = item.documentExcerpt().text(); System.out.println(String.format("Excerpt: %s", documentExcerpt)); break; default: System.out.println(String.format("Unknown query result type: %s", item.type())); } System.out.println("-----------------------\n"); } } }

Einen Index durchsuchen (Postman)

Sie können Postman verwenden, um Ihren Amazon Kendra Index abzufragen und zu testen.

Um einen Index mit Postman zu durchsuchen
  1. Erstellen Sie eine neue Sammlung in Postman und legen Sie den Anforderungstyp auf POST fest.

  2. Geben Sie die Endpunkt-URL ein. Zum Beispiel https://kendra. .amazonaws.com<region>.

  3. Wählen Sie die Registerkarte Autorisierung und geben Sie die folgenden Informationen ein.

    • Typ — Wählen Sie die AWS Signatur aus.

    • AccessKey— Geben Sie den Zugriffsschlüssel ein, der beim Erstellen eines IAM Benutzers generiert wurde.

    • SecretKey— Geben Sie den geheimen Schlüssel ein, der beim Erstellen eines IAM Benutzers generiert wurde.

    • AWS Region — Geben Sie die Region Ihres Indexes ein. Zum Beispiel us-west-2.

    • Dienstname — Geben Sie Kendra ein. Dabei wird zwischen Groß- und Kleinschreibung unterschieden, also muss es sich um Kleinbuchstaben handeln.

      Warnung

      Wenn Sie den falschen Dienstnamen eingeben oder keine Kleinbuchstaben verwenden, wird ein Fehler ausgegeben, sobald Sie Senden auswählen, um die Anfrage zu senden: „Die Anmeldeinformationen sollten auf den richtigen Dienst 'Kendra' beschränkt sein.“

      Sie müssen außerdem überprüfen, ob Sie den richtigen Zugriffs- und Geheimschlüssel eingegeben haben.

  4. Wählen Sie die Registerkarte Header und geben Sie die folgenden Schlüssel- und Wertinformationen ein.

    • Schlüssel: X-Amz-Target

      Wert: com.amazonaws.kendra. AWSKendraFrontendService. Abfrage

    • Schlüssel: Content-Encoding

      Wert: amz-1.0

  5. Wählen Sie die Registerkarte Körper und gehen Sie wie folgt vor.

    • Wählen Sie den rohen JSON-Typ für den Hauptteil der Anfrage.

    • Geben Sie eine JSON-Datei ein, die Ihre Index-ID und Ihren Abfragetext enthält.

      { "IndexId": "index-id", "QueryText": "enter a query here" }
      Warnung

      Wenn Ihr JSON nicht den richtigen Einzug verwendet, wird ein Fehler ausgegeben: "“SerializationException. Überprüfe die Einrückung in deinem JSON.

  6. Wählen Sie Senden (in der Nähe oben rechts) aus.

Suche mit erweiterter Abfragesyntax

Mithilfe erweiterter Abfragesyntax oder Operatoren können Sie Abfragen erstellen, die spezifischer sind als Abfragen mit einfachen Schlüsselwörtern oder Abfragen in natürlicher Sprache. Dazu gehören Bereiche, Boolesche Werte, Platzhalter und mehr. Durch die Verwendung von Operatoren können Sie Ihrer Abfrage mehr Kontext geben und die Suchergebnisse weiter verfeinern.

Amazon Kendra unterstützt die folgenden Operatoren.

  • Boolean: Logik zur Einschränkung oder Erweiterung der Suche. amazon AND sportsBeschränkt die Suche beispielsweise darauf, nur nach Dokumenten zu suchen, die beide Begriffe enthalten.

  • Klammern: Liest verschachtelte Abfrageausdrücke in der Reihenfolge ihrer Rangfolge. Liest beispielsweise vorher. (amazon AND sports) NOT rainforest (amazon AND sports) NOT rainforest

  • Bereiche: Datums- oder numerische Bereichswerte. Bereiche können inklusiv, exklusiv oder unbegrenzt sein. Sie können beispielsweise nach Dokumenten suchen, die zuletzt zwischen dem 1. Januar 2020 und dem 31. Dezember 2020 aktualisiert wurden, einschließlich dieser Daten.

  • Felder: Verwendet ein bestimmtes Feld, um die Suche einzuschränken. Sie können beispielsweise nach Dokumenten suchen, bei denen das Wort „Vereinigte Staaten“ im Feld „Standort“ steht.

  • Platzhalter: Entsprechen teilweise einer Textfolge. Cloud*Könnte zum Beispiel übereinstimmen CloudFormation. Amazon Kendra unterstützt derzeit nur Platzhalter am Ende.

  • Exakte Anführungszeichen: Entspricht genau einer Textfolge. Zum Beispiel Dokumente, die enthalten"Amazon Kendra" "pricing".

Sie können eine Kombination aus jedem der oben genannten Operatoren verwenden.

Beachten Sie, dass eine übermäßige Verwendung von Operatoren oder hochkomplexe Abfragen die Abfragelatenz beeinträchtigen können. Platzhalter gehören zu den teuersten Operatoren, was die Latenz angeht. Als allgemeine Regel gilt: Je mehr Begriffe und Operatoren Sie verwenden, desto größer sind die potenziellen Auswirkungen auf die Latenz. Andere Faktoren, die sich auf die Latenz auswirken, sind die durchschnittliche Größe der indexierten Dokumente, die Größe Ihres Indexes, jegliche Filterung von Suchergebnissen und die Gesamtauslastung Ihres Amazon Kendra Index.

Boolesch

Mithilfe der booleschen OperatorenAND,, können Sie Wörter kombinieren oder ausschließen. OR NOT

Im Folgenden finden Sie Beispiele für die Verwendung boolescher Operatoren.

amazon AND sports

Gibt Suchergebnisse zurück, die sowohl die Begriffe „Amazon“ als auch „Sport“ im Text enthalten, z. B. Amazon Prime Video Sports oder andere ähnliche Inhalte.

sports OR recreation

Gibt Suchergebnisse zurück, die die Begriffe „Sport“ oder „Freizeit“ oder beides im Text enthalten.

amazon NOT rainforest

Gibt Suchergebnisse zurück, die den Begriff „Amazon“, aber nicht den Begriff „Regenwald“ im Text enthalten. Dies dient dazu, nach Dokumenten über das Unternehmen Amazon zu suchen, nicht über den Amazonas-Regenwald.

Klammern

Sie können verschachtelte Wörter in der Reihenfolge ihrer Rangfolge abfragen, indem Sie Klammern verwenden. Die Klammern geben an, Amazon Kendra wie eine Abfrage gelesen werden soll.

Im Folgenden finden Sie Beispiele für die Verwendung von Klammeroperatoren.

(amazon AND sports) NOT rainforest

Gibt Dokumente zurück, die sowohl die Begriffe „Amazon“ als auch „Sport“ im Text enthalten, nicht jedoch den Begriff „Regenwald“. Dies dient der Suche nach Amazon Prime-Videosportarten oder ähnlichen Inhalten, nicht nach Abenteuersportarten im Amazonas-Regenwald. Die Klammern weisen darauf hin, dass dies vorher gelesen werden amazon AND sports sollte. NOT rainforest Die Abfrage sollte nicht als gelesen werden. amazon AND (sports NOT rainforest)

(amazon AND (sports OR recreation)) NOT rainforest

Gibt Dokumente zurück, die die Begriffe „Sport“ oder „Freizeit“ oder beides sowie den Begriff „Amazon“ enthalten. Der Begriff „Regenwald“ ist jedoch nicht enthalten. Dies dient dazu, Amazon Prime Video nach Sport oder Freizeit zu durchsuchen, nicht nach Abenteuersportarten im Amazonas-Regenwald. Die Klammern weisen darauf hin, dass dieser Begriff gelesen werden sports OR recreation sollte, bevor er mit dem zuvor gelesenen Wort „Amazon“ kombiniert wird. NOT rainforest Die Abfrage sollte nicht als gelesen werden. amazon AND (sports OR (recreation NOT rainforest))

Bereiche

Sie können einen Wertebereich verwenden, um die Suchergebnisse zu filtern. Sie geben ein Attribut und die Bereichswerte an. Dies kann ein Datum oder ein numerischer Typ sein.

Datumsbereiche müssen die folgenden Formate haben:

  • Epoch

  • YYYY

  • YYYY-MM

  • JJJJ-MM-tt

  • JJJJ-MM-tt nicht

Sie können auch angeben, ob die unteren und höheren Werte des Bereichs ein- oder ausgeschlossen werden sollen.

Im Folgenden finden Sie Beispiele für die Verwendung von Bereichsoperatoren.

_processed_date:>2019-12-31 AND _processed_date:<2021-01-01

Gibt Dokumente zurück, die im Jahr 2020 verarbeitet wurden — also vor dem 31. Dezember 2019 und weniger als dem 1. Januar 2021.

_processed_date:>=2020-01-01 AND _processed_date:<=2020-12-31

Gibt Dokumente zurück, die im Jahr 2020 bearbeitet wurden — also größer oder gleich dem 1. Januar 2020 und weniger als oder gleich dem 31. Dezember 2020.

_document_likes:<1

Gibt Dokumente zurück, die keine „Gefällt mir“ -Angaben oder kein Benutzerfeedback haben — weniger als 1 „Gefällt mir“.

Sie können angeben, ob ein Bereich so behandelt werden soll, dass er die angegebenen Bereichswerte einschließt oder ausschließt.

Inklusiv

_last_updated_at:[2020-01-01 TO 2020-12-31]

Gibt Dokumente zurück, die zuletzt im Jahr 2020 aktualisiert wurden — einschließlich der Tage 1. Dezember 2020 und 31. Dezember 2020.

Exklusiv

_last_updated_at:{2019-12-31 TO 2021-01-01}

Gibt Dokumente zurück, die zuletzt im Jahr 2020 aktualisiert wurden — ausgenommen sind die Tage 31. Dezember 2019 und 1. Januar 2021.

< and >Verwenden Sie für unbegrenzte Bereiche, die weder inklusiv noch exklusiv sind, einfach die Operatoren. Beispiel: _last_updated_at:>2019-12-31 AND _last_updated_at:<2021-01-01

Felder

Sie können Ihre Suche so einschränken, dass nur Dokumente zurückgegeben werden, die einem Wert in einem bestimmten Feld entsprechen. Das Feld kann einen beliebigen Typ haben.

Im Folgenden finden Sie Beispiele für die Verwendung von Kontextoperatoren auf Feldebene.

status:"Incomplete" AND financial_year:2021

Gibt Dokumente für das Geschäftsjahr 2021 mit dem Status „unvollständig“ zurück.

(sports OR recreation) AND country:"United States" AND level:"professional"

Gibt Dokumente zurück, in denen es um Profisport oder Freizeit in den Vereinigten Staaten geht.

Platzhalter

Sie können Ihre Suche erweitern, um Varianten von Wörtern und Ausdrücken zu berücksichtigen, indem Sie den Platzhalteroperator verwenden. Dies ist nützlich, wenn Sie nach Namensvarianten suchen. Amazon Kendra unterstützt derzeit nur nachfolgende Platzhalter. Die Anzahl der Präfixzeichen für einen Platzhalter am Ende muss größer als zwei sein.

Im Folgenden finden Sie Beispiele für die Verwendung von Platzhalteroperatoren.

Cloud*

Gibt Dokumente zurück, die Varianten wie CloudFormation und CloudWatch enthalten.

kendra*aws

Gibt Dokumente zurück, die Varianten wie kendra.amazonaws enthalten.

kendra*aws*

Gibt Dokumente zurück, die Varianten wie kendra.amazonaws.com enthalten

Genaue Zitate

Sie können Anführungszeichen verwenden, um nach einer exakten Übereinstimmung mit einem Text zu suchen.

Im Folgenden finden Sie Beispiele für die Verwendung von Anführungszeichen.

"Amazon Kendra" "pricing"

Gibt Dokumente zurück, die sowohl den Ausdruck '' als auch den Begriff Amazon Kendra'Preisgestaltung' enthalten. Dokumente müssen sowohl '' als auch Amazon Kendra'Preis' enthalten, damit die Ergebnisse zurückgegeben werden.

"Amazon Kendra" "pricing" cost

Gibt Dokumente zurück, die sowohl den Ausdruck 'Amazon Kendra' als auch den Begriff 'Preisgestaltung' und optional den Begriff 'Kosten' enthalten. Dokumente müssen sowohl „Amazon Kendra“ als auch „Preisgestaltung“ enthalten, damit die Ergebnisse zurückgegeben werden, müssen aber nicht unbedingt „Kosten“ enthalten.

Ungültige Abfragesyntax

Amazon Kendra gibt eine Warnung aus, wenn es Probleme mit Ihrer Abfragesyntax gibt oder Ihre Abfrage derzeit nicht unterstützt wird von Amazon Kendra. Weitere Informationen finden Sie in der API-Dokumentation für Abfragewarnungen.

Die folgenden Abfragen sind Beispiele für eine ungültige Abfragesyntax.

_last_updated_at:<2021-12-32

Ungültiges Datum. Tag 32 existiert nicht im gregorianischen Kalender, der von verwendet wird. Amazon Kendra

_view_count:ten

Ungültiger numerischer Wert. Zahlen müssen verwendet werden, um numerische Werte darzustellen.

nonExistentField:123

Ungültige Feldsuche. Das Feld muss vorhanden sein, um die Feldsuche verwenden zu können.

Product:[A TO D]

Ungültiger Bereich. Numerische Werte oder Datumsangaben müssen für Bereiche verwendet werden.

OR Hello

Ungültiger boolescher Wert. Operatoren müssen zusammen mit Begriffen verwendet und zwischen Begriffen platziert werden.

In Sprachen suchen

Sie können nach Dokumenten in einer unterstützten Sprache suchen. Sie übergeben den Sprachcode in, AttributeFilterum gefilterte Dokumente in der von Ihnen ausgewählten Sprache zurückzugeben. Sie können die Abfrage in einer unterstützten Sprache eingeben.

Wenn Sie keine Sprache angeben, werden Dokumente standardmäßig auf Englisch Amazon Kendra abgefragt. Weitere Informationen zu den unterstützten Sprachen, einschließlich ihrer Codes, finden Sie unter Dokumente in anderen Sprachen als Englisch hinzufügen.

Um in der Konsole nach Dokumenten in einer unterstützten Sprache zu suchen, wählen Sie Ihren Index und dann im Navigationsmenü die Option zum Durchsuchen Ihres Index aus. Wählen Sie die Sprache aus, in der Sie Dokumente zurückgeben möchten, indem Sie die Sucheinstellungen und dann eine Sprache aus der Dropdownliste Sprache auswählen.

Die folgenden Beispiele zeigen, wie Sie auf Spanisch nach Dokumenten suchen.

Um in der Konsole nach einem Index auf Spanisch zu suchen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon Kendra Konsole unter http://console.aws.amazon.com/kendra/.

  2. Wählen Sie im Navigationsmenü Indizes und wählen Sie Ihren Index aus.

  3. Wählen Sie im Navigationsmenü die Option, um Ihren Index zu durchsuchen.

  4. Wählen Sie in den Sucheinstellungen das Drop-down-Menü Sprachen aus und wählen Sie Spanisch aus.

  5. Geben Sie eine Abfrage in das Textfeld ein und drücken Sie dann die Eingabetaste.

  6. Amazon Kendra gibt die Ergebnisse der Suche auf Spanisch zurück.

Um einen Index auf Spanisch mit der CLI, Python oder Java zu durchsuchen
  • Im folgenden Beispiel wird ein Index auf Spanisch durchsucht. Ändern Sie searchString den Wert in Ihrer Suchabfrage und den Wert in indexID den Bezeichner des Indexes, den Sie durchsuchen möchten. Der Sprachcode für Spanisch lautetes. Sie können dies durch Ihren eigenen Sprachcode ersetzen.

    CLI
    { "EqualsTo":{ "Key": "_language_code", "Value": { "StringValue": "es" } } }
    Python
    import boto3 import pprint kendra = boto3.client("kendra") # Provide the index ID index_id = "index-id" # Provide the query text query = "search-string" # Includes the index ID, query text, and language attribute filter response = kendra.query( QueryText = query, IndexId = index_id, AttributeFilter = { "EqualsTo": { "Key": "_language_code", "Value": { "StringValue": "es" } } }) print ("\nSearch results|Resultados de la búsqueda: " + query + "\n") for query_result in response["ResultItems"]: print("-------------------") print("Type: " + str(query_result["Type"])) if query_result["Type"]=="ANSWER" or query_result["Type"]=="QUESTION_ANSWER": answer_text = query_result["DocumentExcerpt"]["Text"] print(answer_text) if query_result["Type"]=="DOCUMENT": if "DocumentTitle" in query_result: document_title = query_result["DocumentTitle"]["Text"] print("Title: " + document_title) document_text = query_result["DocumentExcerpt"]["Text"] print(document_text) print("------------------\n\n")
    Java
    package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.QueryRequest; import software.amazon.awssdk.services.kendra.model.QueryResponse; import software.amazon.awssdk.services.kendra.model.QueryResultItem; public class SearchIndexExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String query = "searchString"; String indexId = "indexID"; QueryRequest queryRequest = QueryRequest.builder() .queryText(query) .indexId(indexId) .attributeFilter( AttributeFilter.builder() .withEqualsTo( DocumentAttribute.builder() .withKey("_language_code") .withValue("es") .build()) .build()) .build(); QueryResponse queryResponse = kendra.query(queryRequest); System.out.println(String.format("\nSearch results| Resultados de la búsqueda: %s", query)); for(QueryResultItem item: queryResponse.resultItems()) { System.out.println("----------------------"); System.out.println(String.format("Type: %s", item.type())); switch(item.type()) { case QUESTION_ANSWER: case ANSWER: String answerText = item.documentExcerpt().text(); System.out.println(answerText); break; case DOCUMENT: String documentTitle = item.documentTitle().text(); System.out.println(String.format("Title: %s", documentTitle)); String documentExcerpt = item.documentExcerpt().text(); System.out.println(String.format("Excerpt: %s", documentExcerpt)); break; default: System.out.println(String.format("Unknown query result type: %s", item.type())); } System.out.println("-----------------------\n"); } } }