Questa pagina mostra come configurare i campi dello schema per impostare un'app per dati strutturati, per dati non strutturati con metadati o per dati di siti web con attributi strutturati personalizzati.
Le impostazioni dei campi aiutano a determinare in che modo la ricerca agenti utilizza i campi nei risultati. Puoi utilizzare la scheda Schema nella consoleGoogle Cloud per configurare le impostazioni dei campi.
La configurazione delle impostazioni dei campi è disponibile solo per le app con datastore contenenti dati strutturati o dati non strutturati con metadati.
Impostazioni del campo
Le seguenti impostazioni dei campi sono disponibili per molti tipi di campi nei tuoi dati di ricerca o dei consigli, ma non per tutti i tipi di dati. Uno schema contiene più impostazioni dei campi per i singoli campi e la tabella seguente contiene le impostazioni che possono essere applicate a un campo all'interno di uno schema. L'utilizzo di dati strutturati è vivamente consigliato per queste impostazioni dei campi:
| Impostazione | Definizione | Finalità | Esempio di caso d'uso |
|---|---|---|---|
| Indicizzabile | L'impostazione dei campi come indicizzabili consente operazioni come il filtraggio, l'incremento e la creazione di sfaccettature sui campi strutturati all'interno di un documento. I campi di tipo |
Se contrassegni un campo come Tieni presente che contrassegnare un campo come |
In un datastore hotel, puoi impostare un campo,
ad esempio hotel_chain, come indicizzabile. In questo modo puoi applicare operazioni di classificazione,
filtraggio e boosting su hotel_chain. Ad esempio,
puoi applicare un filtro in modo che la ricerca restituisca solo risultati di ricerca
contenenti la catena alberghiera filtrata. |
| Ricercabile |
I campi che hanno maggiori probabilità di
essere correlati alle ricerche sono contrassegnati come Solo i campi con valori di testo possono essere contrassegnati come ricercabili. Pertanto, un campo prezzo numerico può essere indicizzabile (per il filtraggio o la creazione di sfaccettature), ma non può essere ricercabile come testo completo. |
Se imposti un campo su Ricercabile, il richiamo per quel campo nelle query di ricerca migliora, consentendo agli utenti di trovare contenuti, come pagine web, eseguendo query sul testo all'interno di questi campi. Se contrassegni un campo come ricercabile, puoi applicare il ranking. Di conseguenza, se contrassegni un numero eccessivo di campi come ricercabili, la precisione della ricerca può risentirne negativamente, in quanto l'algoritmo di ranking viene saturato e restituisce troppi risultati. Ciò può portare a risultati di ricerca irrilevanti. Puoi applicare una ponderazione relativa ai campi ricercabili, ma grazie ai valori predefiniti robusti, questo è raramente necessario. Vedi la sezione Campi ricercabili per il peso di seguito. |
Il sistema di ticket di assistenza di un provider di servizi internet memorizza ogni ticket come documento strutturato. Se questi documenti contengono campi di testo ricercabili, ad esempio
|
| Corrispondenza con prefisso (anteprima) |
Consente di abbinare i campi di testo
del prefisso utilizzando l'operatore Per saperne di più, vedi Rendere i campi disponibili per la corrispondenza parziale e con prefisso di seguito. |
Se imposti un campo in modo che possa essere abbinato al prefisso, il motore di ricerca può abbinare le stringhe di query che sono prefissi del valore del campo. Questa opzione è particolarmente utile per abbinare identificatori, percorsi o codici gerarchici in cui è nota la parte iniziale della stringa. L'abbinamento del prefisso è limitato ai primi 12 caratteri del valore del campo normalizzato e aumenta le dimensioni dell'indice di ricerca. Non puoi impostare più di 10 campi come abbinabili al prefisso. |
Hai un campo, |
| Parzialmente abbinabile (anteprima) |
Consente la corrispondenza parziale delle stringhe nei campi di testo utilizzando
l'operatore Per saperne di più, vedi Rendere i campi disponibili per la corrispondenza parziale e con prefisso di seguito. |
L'impostazione di un campo su corrispondenza parziale consente la corrispondenza basata su token all'interno di un campo, consentendo agli utenti di trovare contenuti quando è nota solo una parte del valore del campo. Il motore di ricerca confronta i token della query con i token nel valore del campo, indipendentemente dal loro ordine. Tieni presente che contrassegnare un campo come parzialmente corrispondente aumenta le dimensioni dell'indice di ricerca. Non puoi impostare più di 10 campi come parzialmente abbinabili. |
Vuoi filtrare le regioni in Europa. I nomi |
| Suddivisione in facet dinamica | Fornisce filtri sensibili al contesto
per indirizzare meglio le ricerche degli utenti. Se imposti un campo come
Dynamic Facetable, il sistema può generare automaticamente
filtri interattivi (sfaccettature) in base ai valori univoci presenti
nel campo. |
Se imposti un campo su Dynamic
facetable, gli utenti possono perfezionare dinamicamente i risultati di ricerca selezionando categorie o attributi derivati direttamente dai dati importati, senza dover predefinire manualmente ogni possibile opzione di filtro. In questo modo, l'utente può restringere la ricerca a contenuti web molto specifici.Utilizza Filtro dinamico con Ricercabile per ottenere risultati migliori, il che migliora sia il richiamo della ricerca sia la qualità dei filtri offerti all'utente. |
Le pagine di una knowledge base aziendale interna, ad esempio le norme RU, vengono inserite con dati come department, document_type o last_modified_date. Se questi campi sono taggati come dynamic facetable, una ricerca di un dipendente per un termine come rimborso spese genera dinamicamente filtri interattivi in base ai risultati pertinenti trovati. In questo caso, l'interfaccia web potrebbe mostrare sfaccettature per Dipartimento: finanza, viaggi, Tipo di documento: norme, domande frequenti o Data ultima modifica: questo trimestre, l'anno scorso. |
| Recuperabile | Quando una query di ricerca trova contenuti corrispondenti, il motore di ricerca può estrarre i valori dei campi recuperabili per visualizzarli o utilizzarli nell'applicazione, il che significa che le informazioni del documento originale vengono visualizzate nei risultati di ricerca. I campi chiave (identificatori univoci per i documenti) sono configurati come recuperabili. | I campi recuperabili forniscono il contesto di ricerca distinguendo i campi i cui valori possono essere visualizzati da quelli da utilizzare solo nella logica di ricerca, ma i cui valori non devono essere mostrati all'utente finale. | Per una ricerca di prodotti sul sito di un commerciante,
product_id, name, price e un
image_url sono campi tipici che vuoi impostare come
recuperabili. D'altra parte, internal_tracking_code può
essere indicizzato e filtrabile solo a fini amministrativi, ma non
recuperabile nei risultati di ricerca pubblici. |
| Completabile | Consente di utilizzare i contenuti di un campo per i suggerimenti per le query di ricerca. Per saperne di più, consulta Configurare il completamento automatico. | Questa impostazione consente di utilizzare i valori all'interno di questo campo per fornire suggerimenti per le query in tempo reale durante la digitazione degli utenti. Questa funzionalità aiuta a indirizzare gli utenti verso contenuti pertinenti e accelera il processo di ricerca. Alcuni fattori, come l'utilizzo del filtro in linguaggio naturale, possono influire su questo rendimento. | Se il
campo completable è impostato per product_name,
brand e category, quando l'utente digita
Tech, i suggerimenti per il completamento automatico possono mostrare:
|
| Filtrabile | Consente ai suggerimenti di utilizzare un campo per filtrare i risultati consigliati, determinando quali risultati di ricerca vedono gli utenti. Per informazioni sul filtraggio dei consigli, vedi Filtrare i consigli. | L'impostazione di un campo su Filterable consente di personalizzare i consigli per gli utenti. Tieni presente che si applicano limiti di filtraggio. |
Un'impostazione del filtro per lingua e genere potrebbe essere: language_code: ANY("en", "fr") OR categories: ANY("drama"). |
Differenze tra le impostazioni di uso comune
Esistono differenze fondamentali tra le impostazioni dei campi Indicizzabile, Ricercabile e Recuperabile. La tabella riassume queste differenze.
| Funzionalità | Indicizzabile | Disponibile per la ricerca | Recuperabile |
|---|---|---|---|
| Ruolo principale | Rende i contenuti del campo disponibili per il motore di ricerca | Consente l'interrogazione a testo intero sui contenuti dei campi | Consente di restituire il valore del campo nei risultati di ricerca |
| Analisi | I contenuti vengono elaborati e inseriti in un indice. | In genere viene sottoposto a un'analisi lessicale approfondita. | Il valore viene memorizzato così com'è per la visualizzazione. |
| Può essere che… | |||
| …disponibile per la ricerca? | Sì (spesso un prerequisito) | N/D | Non necessariamente (possono essere recuperabili senza essere ricercabili) |
| …recuperabile? | Non necessariamente | Non necessariamente | N/D |
| ...Filtrabile/Ordinabile/Sudd. in facet? | Sì (in genere un prerequisito anche per questi) | Non direttamente. Si tratta di attributi separati spesso basati su un campo indicizzabile. | Non direttamente. Questi attributi si riferiscono al modo in cui il campo viene indicizzato e interrogato, non solo visualizzato. |
In pratica, molti campi fondamentali per l'esperienza utente (come titoli, descrizioni e informazioni identificative) sono spesso impostati su indexable, searchable e retrievable.
Limitazioni
Le impostazioni dei campi presentano le seguenti limitazioni:
- Puoi configurare fino a 50 campi come indicizzabili, ricercabili, recuperabili o con suddivisione dinamica in facet.
- Per configurare un campo come suddivisione dinamica in facet, deve prima essere configurato come indicizzabile.
- La modifica dell'impostazione di indicizzazione richiede la reindicizzazione dei dati, che può richiedere ore, soprattutto per i datastore di grandi dimensioni.
Se stai configurando i campi per un'app di ricerca di contenuti multimediali e vuoi informazioni dettagliate sui campi nello schema, consulta Informazioni su documenti multimediali e archivi di dati.
Aggiorna le impostazioni dei campi
Per aggiornare le impostazioni dei campi:
Nella Google Cloud console, vai alla pagina AI Applications.
Fai clic sul nome dell'app da modificare.
Fai clic su Dati.
Fai clic sulla scheda Schema. Questa scheda mostra le impostazioni correnti dei campi.
Se il datastore contiene dati di base del sito web o dati non strutturati senza metadati, non vedrai la scheda Schema.
Fai clic su Modifica.
Seleziona o deseleziona le impostazioni dei campi che devi aggiornare. Alcune impostazioni dei campi non sono supportate. Ad esempio, i campi numerici non possono essere impostati su Ricercabile.
Fai clic su Salva per applicare le modifiche.
Campi ricercabili con ponderazione (anteprima)
Se contrassegni un campo come ricercabile, puoi specificare un peso per indicarne l'importanza relativa nei risultati di ricerca. Nella maggior parte dei casi non è necessario specificare i pesi per i singoli campi perché i pesi predefiniti funzionano bene.
Tuttavia, la modifica dei pesi può essere necessaria in alcune situazioni, ad esempio:
Stai eseguendo la migrazione dei dati da una piattaforma di ricerca esistente che utilizza già campi ponderati.
Quando i pesi predefiniti non forniscono risultati di ricerca soddisfacenti. In particolare, questo può accadere quando hai molti campi ricercabili e alcuni sono notevolmente più importanti di altri.
Forse il riepilogo è il campo più importante per le ricerche e quindi vuoi dare la priorità a questo testo.
In alternativa, lo schema ha un campo contenente parole chiave molto pertinenti che sono ottimi predittori per i risultati di ricerca, ma, poiché questo campo è molto più breve di altri, la sua influenza è spesso oscurata da campi più lunghi. Aumentarne il peso garantisce che abbia l'impatto previsto.
Livelli di peso
I pesi sono suddivisi nei seguenti livelli:
| Importanza del campo | Spiegazione |
|---|---|
| Molto basso | Un valore basso che il sistema prende comunque in considerazione quando combina i punteggi di tutti i campi. Se vuoi una ponderazione ancora inferiore, in modo che l'effetto sia trascurabile, non contrassegnare il campo come ricercabile. |
| Bassa | Un peso inferiore a quello predefinito. |
| Predefinito | Il peso standard per i campi ricercabili. Questo peso offre prestazioni ragionevolmente buone nella maggior parte dei casi. |
| Alta | Un peso notevolmente superiore a quello predefinito. |
| Molto alto | Un peso dominante. In genere, questa opzione viene riservata a un solo campo. |
Aggiornamento dello schema e reindicizzazione
L'aggiunta di pesi ai campi ricercabili richiede un aggiornamento dello schema e la successiva reindicizzazione dei dati nel datastore. L'aggiornamento dello schema richiede ore e non esiste un indicatore affidabile per sapere quando l'indicizzazione è completata, quindi devi sovrastimare il tempo di indicizzazione.
Impostare i livelli di ponderazione sui campi
L'attività di impostazione dei livelli di ponderazione per i campi può essere noiosa perché devi apportare solo piccole modifiche e rivedere attentamente i risultati di ricerca per verificare la presenza di conseguenze indesiderate. Dopo ogni modifica, devi attendere il completamento della reindicizzazione prima di poter valutare l'impatto della modifica.
Puoi configurare la ponderazione dei campi di ricerca solo tramite l'API. Questa funzionalità non è disponibile nella console Google Cloud .
Per impostare i pesi, devi aggiornare lo schema per il datastore tramite il metodo
projects.locations.dataStores.schemas.patch
dell'API.
Se non hai ancora lo schema, segui le istruzioni per ottenerlo in Visualizzare una definizione di schema.
Segui le istruzioni per aggiornare lo schema in modo programmatico. Aggiungi pesi a uno o più campi ricercabili, come in questi esempi:
"summary": { "type": "string", "searchable": true, "weight": "high" }, "uri": { "type": "string", "searchable": true, "weight": "low" },In questo esempio, il campo
summaryè impostato su un peso superiore al normale e il campourisu un peso inferiore. Se vuoi ripristinare il valore predefinito di un peso, impostalo sudefault.I valori consentiti per il parametro peso sono:
very_lowlowdefaulthighvery_high
Attendi il completamento della reindicizzazione e verifica il comportamento della ricerca.
Rendere disponibili i campi per la corrispondenza parziale e del prefisso (anteprima)
Per i campi di tipo string, puoi modificare lo schema per rendere i campi
disponibili per la corrispondenza del prefisso o la corrispondenza parziale. Ciò ti consente di utilizzare
STARTS_WITH o CONTAINS nelle espressioni di filtro.
Aggiornamento dello schema e reindicizzazione
Per rendere disponibili i campi per la corrispondenza parziale o con prefisso, è necessario aggiornare lo schema e reindicizzare successivamente i dati nel datastore. L'aggiornamento dello schema richiede ore e non esiste un indicatore affidabile per sapere quando l'indicizzazione è completata, quindi devi sovrastimare il tempo di indicizzazione.
Aggiornare lo schema per la corrispondenza parziale e del prefisso
Per specificare i campi come disponibili per la corrispondenza del prefisso o la corrispondenza parziale, devi aggiornare lo schema per il datastore tramite il metodo API
projects.locations.dataStores.schemas.patch.
Se non hai ancora lo schema, segui le istruzioni per ottenerlo in Visualizzare una definizione di schema.
Segui le istruzioni per aggiornare lo schema in modo programmatico. Imposta i parametri corrispondenti su
truenello schema, come in questi esempi:"zone": { "type": "string", "searchable": true, "prefixMatchable": true }, "region": { "type": "string", "searchable": true, "partialMatchable": true }, "model": { "type": "string", "searchable": true, "prefixMatchable": true, "partialMatchable": true },In questo esempio, il campo
zoneè impostato in modo da poter essere abbinato al prefisso. Fino a 12 caratteri, senza distinzione tra maiuscole e minuscole, possono essere utilizzati nell'espressione di filtro per trovare corrispondenze con il valore del campo. Il camporegionè impostato in modo da essere parzialmente abbinabile.Attendi il completamento della reindicizzazione.
Dettagli sulla corrispondenza del prefisso
La corrispondenza del prefisso in Agent Search consente di filtrare i risultati in base al fatto che il valore di un campo inizi con una stringa specifica. Questa funzionalità
è basata sull'operatore STARTS_WITH e richiede che il campo di testo di destinazione sia
configurato come prefixMatchable nello schema.
Logica di normalizzazione e corrispondenza
Per ottimizzare il rendimento e garantire la coerenza, il sistema applica un processo di normalizzazione specifico sia al valore del campo (durante l'indicizzazione) sia alla stringa di query (durante la ricerca).
Conversione in minuscolo: tutti i caratteri vengono convertiti in minuscolo. In questo modo, la corrispondenza non distingue tra maiuscole e minuscole.
Troncamento a 12 caratteri: il sistema prende in considerazione solo i primi 12 caratteri della stringa. I caratteri oltre questo limite vengono ignorati ai fini della corrispondenza del prefisso.
Come funziona
Al momento dell'indicizzazione, per un campo contrassegnato come prefixMatchable, il sistema genera
token di prefisso per i primi 12 caratteri. Per un valore come asia-south1-c, l'indice memorizza i token per a, as, asi, asia, asia- e così via, fino al 12° carattere (asia-south1-).
Al momento della query, anche la stringa fornita all'operatore STARTS_WITH viene convertita in minuscolo e troncata a 12 caratteri. La query viene quindi confrontata con i token
del prefisso memorizzati.
Esempi
Gli esempi seguenti mostrano in che modo la normalizzazione a 12 caratteri influisce sui risultati di ricerca:
Corrispondenze generiche:
STARTS_WITH("A")corrisponde a qualsiasi valore che inizia con "a" (senza distinzione tra maiuscole e minuscole), ad esempioasia,australiaoafrica.Prefissi parziali:
STARTS_WITH("asia-south")corrisponde sia aasia-south1-asia aasia-southeast1-bperché entrambi iniziano con la stringa di 10 caratteri specificata.Comportamento di troncamento: poiché vengono confrontati solo i primi 12 caratteri,
STARTS_WITH("asia-south1-a")corrisponde a un valore del campoasia-south1-c. Ciò si verifica perché entrambe le stringhe vengono normalizzate con lo stesso prefisso di 12 caratteri:asia-south1-.
Dettagli sulla corrispondenza parziale
La corrispondenza parziale nella ricerca degli agenti consente di filtrare i risultati in base
al fatto che il valore di un campo contenga parole o token specifici. Questa funzionalità
è basata sull'operatore CONTAINS e richiede che il campo di testo di destinazione sia
configurato come partialMatchable nello schema.
Logica di normalizzazione e tokenizzazione
La ricerca di agenti normalizza e tokenizza sia il valore del campo (durante l'indicizzazione) sia la stringa di query (durante la ricerca):
Conversione in minuscolo: Agent Search converte i caratteri in minuscolo. In questo modo, la corrispondenza non fa distinzione tra maiuscole e minuscole.
Tokenizzazione: la ricerca dell'agente suddivide la stringa in singoli token (parole) utilizzando spazi e altri caratteri come delimitatori.
Delimitatori standard: gli spazi e la punteggiatura comune fungono da delimitatori, tra cui trattini (
-), barre (/), virgole (,), punti (.), asterischi (*), parentesi graffe ({ }), parentesi quadre ([ ]), parentesi tonde (( )) e apostrofi (').Non delimitatori: la e commerciale (
&) e il trattino basso (_) non fungono da delimitatori. Il sistema tratta i caratteri uniti da questi simboli come un unico token.Delimitatore email (
@): il simbolo@funge da delimitatore speciale per aiutare a riconoscere gli indirizzi email. Il sistema genera token per i singoli componenti e per i moduli combinati. Ad esempio, suddividesupport+tier1@example.cominsupport,tier1,example,com,support+tier1@example.comesupport@example.com.
Come funziona
Al momento dell'indicizzazione, per un campo contrassegnato come partialMatchable, il sistema normalizza e tokenizza il valore del campo e memorizza i token risultanti nell'indice. Ad esempio, tokenizza un valore del campo 25-meter, outdoor, swimming
pool in [25, meter, outdoor, swimming, pool].
Al momento della query, la stringa fornita all'operatore CONTAINS viene sottoposta allo stesso processo di normalizzazione e tokenizzazione. Il motore di ricerca verifica quindi che
tutti i token della query risultanti corrispondano ai token archiviati per il campo. L'ordine
dei token non ha alcun effetto.
Esempi
I seguenti esempi mostrano in che modo la tokenizzazione influisce sui risultati della corrispondenza parziale:
Corrispondenza di base dei token: se il valore del campo è
25-meter, outdoor, swimming pool, viene trovata una corrispondenza con un filtro diCONTAINS("Outdoor pool"). Il sistema tokenizza la query in[outdoor, pool], entrambi presenti nei token del campo.Indipendenza dell'ordine: un filtro di
CONTAINS("pool outdoor")corrisponde anche al valore del campo25-meter, outdoor, swimming poolperché il sistema verifica la presenza di ogni token indipendentemente dal loro ordine.Corrispondenza degli indirizzi email: se un campo memorizza l'email
support+tier1@example.com, i filtri comeCONTAINS("support"),CONTAINS("example.com")oCONTAINS("support@example.com")corrispondono correttamente grazie alla tokenizzazione speciale del simbolo@.
Passaggi successivi
- Aggiornare uno schema per i dati strutturati
- Configurare i risultati di ricerca
- Visualizzare l'anteprima dei risultati di ricerca