Mit der Cloud Search-Funktion zur Abfrageinterpretation werden Daten 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 und nicht in einem Schemafeld 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](https://developers-dot-devsite-v2-prod.appspot.com/static/cloud-search/images/query-interpretation.png?authuser=0000&hl=de)
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 und 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 und die Interpretation der Abfrage nimmt 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 sindruntimelessthan
undruntimegreaterthan
festgelegt. - Die Datumseigenschaft
releaseDate
bezieht sich auf den Zeitpunkt der Veröffentlichung eines Films im Kinos. Für diese Property sindreleasedbefore
undreleasedafter
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 der Option „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:
Füllen Sie das Feld
updateTime
in derItemMetadata
um die Operatorenbefore
undafter
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.
Füllen Sie das Feld
mimeType
inItemMetadata
aus, um die automatische Erkennung von Typ. Bei der Abfrage „Actionvideos“ werden alle Dokumente zu Actionfilmen mit einem Mime aufgelistet. Typ vonapplication/mp4
,application/mpeg4
,application/x-shockwave-flash
,video/
undapplication/vnd.google-apps.video
.
Einschränkungen bei der Interpretation von Abfragen
Die Funktion zur Abfrageinterpretation 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 des gleichen Containerelements übernehmen), 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
undseverity
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ürpriority
oderseverity
. 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.