L'interpretazione delle query di Cloud Search converte automaticamente gli operatori e i filtri nella query di un utente in una query strutturata basata su operatori. La funzionalità utilizza gli operatori definiti nello schema e nei documenti indicizzati per dedurre l'intento della query. In questo modo, gli utenti possono effettuare ricerche con un numero minimo di parole chiave e ottenere risultati precisi.
La presentazione dei risultati dipende dall'affidabilità. La confidenza aumenta quando le stringhe di query vengono visualizzate in modo coerente in campi dello schema specifici (ad es. "Tom Hanks"
in un campo actors). L'affidabilità diminuisce quando le stringhe vengono visualizzate all'interno di un testo generale. La confidenza elevata mostra solo i risultati interpretati, mentre la confidenza inferiore li combina con i risultati standard delle parole chiave.
Interpretazione della query di esempio
Valuta la possibilità di utilizzare un database contenente informazioni sui film. La figura 1 mostra una query di ricerca di esempio e la relativa interpretazione.
Per questo esempio, l'interpretazione della query è:
- Determina dallo schema che gli oggetti di primo livello sono
objecttype:movies. - Scansiona i documenti per identificare dove si verifica l'"azione". Se compare principalmente
in un campo
genre, la confidenza aumenta e si presume che sia un valore della proprietà per quel campo.
L'interpretazione risultante è:
actor:"tom hanks" genre:action objecttype:movies
L'interpretazione delle query è automatica per tutti gli utenti, ma puoi ottimizzarla strutturando lo schema come descritto nelle sezioni seguenti.
Strutturare lo schema per l'interpretazione delle query
L'ottimizzazione dello schema ti consente di sfruttare l'interpretazione delle query.
Attivare le interpretazioni del nome visualizzato
L'interpretazione delle query utilizza objectDefinitions e propertyDefinitions per
interpretare le query. Crea nomi visualizzati intuitivi utilizzando
displayLabel
per le proprietà,
objectDisplayLabel
per gli oggetti e operatorName per gli operatori.
Questo esempio mostra nomi visualizzati intuitivi per un oggetto film:
{
"objectDefinitions": [{
"name": "movie",
"options": {
"displayOptions": { "objectDisplayLabel": "Films" }
},
"propertyDefinitions": [{
"name": "genre",
"isReturnable": true,
"textPropertyOptions": {
"operatorOptions": { "operatorName": "genre" }
},
"displayOptions": { "displayLabel": "Category" }
}]
}]
}
Questi nomi visualizzati consentono interpretazioni come:
- "action movies" (film d'azione) ->
genre:action object:movies - "movies with genre action or thriller" (film di genere azione o thriller) ->
objecttype:movies genre:(action OR thriller) - "comedy category movies" (film della categoria commedia) ->
genre:comedy objecttype:movies
Attivare le interpretazioni di data, numeriche e di ordinamento
Definisci lessThanOperatorName e greaterThanOperatorName in
IntegerOperatorOptions
per tutte le proprietà numeriche e di data. Per attivare l'ordinamento, imposta isSortable.
Questo esempio attiva le seguenti opzioni:
{
"objectDefinitions": [{
"propertyDefinitions": [
{
"name": "runtime",
"isSortable": true,
"integerPropertyOptions": {
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
}
},
{
"name": "releasedate",
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}]
}
Queste impostazioni consentono interpretazioni come:
- "film usciti quest'anno" ->
objecttype:movies releasedafter:2019-1-1 releasedbefore:2019-12-31 - "movies with runtime less than 90" (film con durata inferiore a 90 minuti) ->
objecttype:movies runtimelessthan:90
Abilitare l'interpretazione degli operatori riservati
Utilizza operatori integrati come type, before, after e objecttype:
- Compila
updateTimeinItemMetadataper utilizzarebeforeeafter. - Compila
mimeTypeinItemMetadataper il rilevamento automatico. Ad esempio, "video d'azione" elenca i documenti con tipi MIME video.
Limitazioni dell'interpretazione delle query
- Funziona solo per i seguenti ACL delle origini dati:
- Pubblico nel dominio.
- Origine dati pubblica.
- La maggior parte dei documenti condivide lo stesso ACL ereditato.
- Nomi degli operatori condivisi (ad es.
priorityeseverityche utilizzano entrambi 0-3) confidenza inferiore. - Per impostazione predefinita, l'interpretazione utilizza le lettere minuscole per i valori dei campi, a meno che non utilizzi
exactMatchWithOperator. - L'operatore
sourcenon è supportato. - Termini combinati con operatori e testo libero (ad es. "p0 cases severity:s0") are not interpreted.
- I risultati vengono sempre combinati con quelli classificati in base alla pertinenza.