Struktur für eine optimale Abfrageinterpretation strukturieren

Mit der Cloud Search-Funktion zur Abfrageinterpretation werden und wandelt diese Elemente in ein Abfrage mit Operatoren. Bei der Interpretation von Abfragen werden definierte Operatoren verwendet zusammen mit den indexierten Dokumenten, um abzuleiten, die Bedeutung der Suchanfrage. Mit dieser Funktion können Nutzer und erzielen dennoch präzise Ergebnisse.

Die tatsächlichen Ergebnisse, die der Nutzer sieht, hängen von der Zuverlässigkeit ab. der Abfrageinterpretation. Die Zuverlässigkeit basiert auf mehreren Faktoren, einschließlich der Stelle, an der die Abfragestrings in indexierten Dokumenten vorkommen. Ein String wie als der Name des Schauspielers "Tom Hanks" regelmäßig in einer Schemafeld namens actors führt zu einer höheren Konfidenz. Derselbe String ("Tom Hanks"), die innerhalb eines Absatzes erscheinen, zu einer geringeren Zuverlässigkeit führen. Bei hoher Konfidenz werden nur Ergebnisse der Abfrageauswertung. Bei schwächeren werden die Ergebnisse der Abfrageinterpretation mit in den Ergebnissen der Keyword-Suche.

Beispiel für die Interpretation einer Abfrage

Angenommen, Sie haben eine Datenquelle, z. B. eine Datenbank, Informationen über Filme. Abbildung 1 zeigt ein Beispiel für eine Suchanfrage mit dem Ergebnis, Interpretation.

Übersicht über die Interpretation von Abfragen
Abbildung 1. Interpretation von Abfragen

Bei dieser Beispielabfrage führt Folgendes aus:

  • Analysiert das Schema und stellt fest, dass die Objekte der obersten Ebene in der Datenquelle enthalten sind sind als objecttype:movies klassifiziert. Bei der Interpretation von Abfragen "filme" in der Abfrage ein Objekttyp ist.

  • Scannt Dokumente in der Datenquelle in Verbindung mit dem Schema, um Bestimmen Sie, wo der String "action" erfolgt. Wenn der String hauptsächlich in einem bestimmten „Genre“ Datenquellenfeld, dann die Interpretation der Abfrage zuversichtlich ist, dass „Aktion“ ist ein Eigenschaftswert für die Eigenschaft "genre" wie im Schema definiert. Wenn der String primär im Kontext von Absätzen des Inhalts, nimmt das Konfidenzniveau der Abfrageauswertung ab.

Die resultierende Abfrageinterpretation lautet:

  actor:“tom hanks” genre:action objecttype:movies

Die Interpretation von Suchanfragen ist für alle Cloud Search-Kunden automatisch aktiviert ohne zusätzlichen Aufwand. Für eine optimale Interpretation der Abfrage sollten Sie jedoch Strukturieren Sie Ihr Schema entsprechend den Anweisungen in diesem Dokument.

Strukturieren Sie Ihr Schema, um die Interpretation von Abfragen zu unterstützen

Sie sollten Ihr Schema so strukturieren, profitieren Sie von der Abfrageinterpretation.

Interpretationen von Anzeigenamen aktivieren

Bei der Abfrageinterpretation in Cloud Search objectDefinitions und propertyDefinitions in einem Schema verwenden, um die Suchanfrage eines Nutzers zu interpretieren und Ergebnisse. Um den Nutzen dieser Schemaelemente zu maximieren, sollten Sie mit intuitiven Anzeigenamen displayLabel für Property-Namen, objectDisplayLabel für Objektnamen und operatorName für Operatoren.

Das folgende Schema zeigt intuitive Anzeigenamen für ein Filmobjekt:

{
  "objectDefinitions": [
    {
      "name": "movie",
        "options": {
          "displayOptions": {
          "objectDisplayLabel": "Films"
        }
        ...
      },
      "propertyDefinitions": [
        {
          "name": "genre",
          "isReturnable": true,
          "isRepeatable": true,
          "isFacetable": true,
          "textPropertyOptions": {
          "retrievalImportance": { "importance": "HIGHEST" },
          "operatorOptions": {
            "operatorName": "genre"
          }
        },
        "displayOptions": {
          "displayLabel": "Category"
        }
      },
      ...
      ]
    }
  ]
}

Im vorherigen Beispiel:

  • Die Filmobjektdefinition hat ein „Film“-objectDisplayLabel.

  • Die Eigenschaft propertyDefinition hat ein "genre" operatorName und eine "Category". displayLabel.

Anhand dieser Anzeigenamen kann Cloud Search die folgende Abfrage ausführen Interpretationen:

  • „Actionfilme“, „Filme mit Genre-Action-Filmen“ oder „Filmen & Genre-Action“ sind interpretiert als genre:action object:movies.
  • „Filme mit Genre-Action oder Thriller“ wird als objecttype:movies genre:(action OR thriller)
  • „Actionfilm“ oder „Actionfilme“ werden als genre:action objecttype:movies
  • „Filme der Kategorie Komödien“ wird als genre:comedy objecttype:movies interpretiert.

Interpretation von Datum, Zahlen und Sortierung aktivieren

Definieren Sie lessThanOperatorName und greaterThanOperatorName. angegeben in IntegerOperatorOptions für das gesamte Datum und numerische Eigenschaften. Diese Einstellungen ermöglichen die automatische Datums- und numerische Interpretationen. Um Interpretationen beim Sortieren zu ermöglichen, isSortable für Datums- und numerische Eigenschaften festlegen Die folgenden zeigt, wie diese Optionen aktiviert werden.

{
  "objectDefinitions": [
    {
      "options": {
        "displayOptions": {
          "objectDisplayLabel": "Films"
        }
      },
      "propertyDefinitions": [
        {
          "name": "runtime",
          "isReturnable": true,
          "isSortable": true,
          "integerPropertyOptions": {
            "orderedRanking": "DESCENDING",
            "minimumValue": {
              "value": 10
            },
            "maximumValue": {
              "value": 500
            },
            "operatorOptions": {
              "operatorName": "runtime",
              "lessThanOperatorName": "runtimelessthan",
              "greaterThanOperatorName": "runtimegreaterthan"
            }
          },
          "displayOptions": {
            "displayLabel": "Length"
          }
        },
        {
          "name": "releasedate",
          "isReturnable": true,
          "isSortable": true,
          "datePropertyOptions": {
            "operatorOptions": {
              "operatorName": "releasedate",
              "lessThanOperatorName": "releasedbefore",
              "greaterThanOperatorName": "releasedafter"
            }
          }
        }
      ]
    }
  ]
}

Im vorherigen Beispiel:

  • Die numerische Eigenschaft runtime bezieht sich auf die Länge eines Films. Die Für diese Property sind runtimelessthan und runtimegreaterthan festgelegt.
  • Die Datumseigenschaft releaseDate bezieht sich auf den Zeitpunkt der Veröffentlichung eines Films im Kinos. Für diese Property sind releasedbefore und releasedafter festgelegt.

Mit diesen Einstellungen kann Cloud Search die folgenden Abfragen interpretieren:

  • Wenn das Jahr 2019 ist, wird „in diesem Jahr veröffentlichte Filme“ als objecttype: movies releasedafter:2019-1-1 releasedbefore:2019-12-31
  • Angenommen, es ist die dritte Märzwoche. interpretiert als objecttype: movies releasedafter:2019-3-10 releasedbefore:2019-3-16
  • „Filme mit einer Laufzeit von weniger als 90“ wird als objjecttype: movies runtimelessthan:90 interpretiert.
  • Angenommen, das Jahr ist 2019. „Filme, die dieses Jahr veröffentlicht wurden, 120" wird als releasedafter:2019-1-1 releasedbefore:2019-12-31 objecttype:movies runtimegreaterthan:120 interpretiert.
  • Mit „Filme nach Veröffentlichungsdatum sortieren“ wird nach „objecttype: movies“ gefiltert und die werden die präsentierten Ergebnisse am Veröffentlichungsdatum mit der standardmäßigen Sortierreihenfolge sortiert. aufsteigend.

Interpretation reservierter Operatoren aktivieren

Sie können auch das reservierte integrierte type, before, after und objecttype verwenden. um die Interpretation der Abfrage zu verbessern. Führen Sie beim Indexieren eines Dokuments die Folgendes:

  1. Füllen Sie das Feld updateTime in der ItemMetadata um die Operatoren before und after zu verwenden. Diese kann Cloud Search folgende Abfragen interpretieren:

    • Unter "Filme von letzter Woche" werden alle Filme aufgelistet, die in der Spalte die Indexierung der vergangenen Woche.
    • Unter „Filme vor Januar 2019“ werden alle Filme aufgelistet, die zuvor indexiert wurden. Januar 2019:
  2. Füllen Sie das Feld mimeType in ItemMetadata aus, um die automatische Erkennung von Typ. Bei der Abfrage „Actionvideos“ werden alle Dokumente zu Actionfilmen mit einem Mime aufgelistet. Typ von application/mp4, application/mpeg4, application/x-shockwave-flash, video/ und application/vnd.google-apps.video.

Einschränkungen bei der Interpretation von Abfragen

Die Funktion zur Interpretation von Abfragen unterliegt den folgenden Einschränkungen.

  • Die Interpretation von Abfragen funktioniert nur mit den folgenden Datenquellen-ACLs: <ph type="x-smartling-placeholder">
      </ph>
    • Alle Dokumente sind domain-öffentlich (alle Nutzer in der Domain haben Zugriff).
    • Alle Dokumente sind öffentlich, d. h. jeder, der Zugriff auf die Datenquelle hat ACL.
    • Die meisten Dokumente in der Datenquelle haben dieselbe ACL (alle Dokumente ACL vom selben Containerelement übernommen werden, ohne dass zusätzliche Leser definiert werden.
  • Wenn mehrere Schemaoperatoren denselben Wert haben, hängt dieser Wert für einen Operator-Intent von der Gesamtkonfidenz ab, Faktor, der vom System zur Interpretation der Suchanfrage zurückgegeben wird. Angenommen, Sie haben die Attribute priority und severity mit denselben Operatornamen im Schema definiert. Angenommen, beide Operatoren können die Werte 0, 1, 2 oder 3 haben. In diesem Beispiel ist „0“ kann sich in einer Abfrage auf den Operatorwert für priority oder severity. Diese Werte sind mehrdeutig und das Konfidenzniveau darunter.
  • Die Interpretation der Cloud Search-Abfrage senkt die Groß- und Kleinschreibung des Felds bei der Interpretation der Abfrage, außer für die Textoperatoren, die mit exactMatchWithOperator-Optionen.
  • Der Operator source wird in Abfragen nicht unterstützt.
  • Suchanfragen, in denen operatorbasierte Begriffe und kostenlose Textbegriffe kombiniert sind, werden nicht interpretiert werden können. Beispiel: Die Abfrage „p0 priority cases severity:s0“ nicht wird unterstützt, weil „Fälle mit P0-Priorität“ ist ein kostenloser Textbegriff, während "severity:s0" ein Operator ist.
  • Bei der Strategie zur Interpretation der Suchanfrage werden die interpretierten Ergebnisse immer mit gewöhnliche (nicht interpretierte, nach Relevanz sortierte) Ergebnisse. Sie führt keine vollständige Seitenersatz von Ergebnissen.