Filtraggio e ricerca sfaccettata - Amazon Kendra

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Filtraggio e ricerca sfaccettata

Puoi migliorare i risultati della ricerca o la risposta dall'API Query utilizzando i filtri. I filtri limitano i documenti nella risposta a quelli che si applicano direttamente alla query. Per creare suggerimenti di ricerca sfaccettati, utilizza la logica booleana per filtrare gli attributi specifici del documento dalla risposta o i documenti che non corrispondono a criteri specifici. Puoi specificare le sfaccettature utilizzando il Facets parametro nell'API. Query

Per cercare i documenti con cui hai indicizzato Amazon Lex, usa Amazon Kendra AMAZON. KendraSearchIntent. Per un esempio di configurazione Amazon Kendra con Amazon Lex, consulta Creazione di un bot per le domande frequenti per un Amazon Kendra indice. Puoi anche fornire un filtro per la risposta utilizzando AttributeFilter. Questo è il filtro di interrogazione in JSON durante la configurazioneAMAZON.KendraSearchIntent. Per fornire un filtro per gli attributi durante la configurazione di un intento di ricerca nella console, vai all'editor degli intenti e scegli Amazon Kendra query per fornire un filtro di query in JSON. Per ulteriori informazioni in meritoAMAZON.KendraSearchIntent, consulta la guida alla documentazione.Amazon Lex

Facet

I facet sono visualizzazioni mirate di un insieme di risultati di ricerca. Ad esempio, puoi fornire risultati di ricerca per città di tutto il mondo, dove i documenti vengono filtrati in base a una città specifica a cui sono associati. In alternativa, puoi creare sfaccettature per visualizzare i risultati di un autore specifico.

Puoi utilizzare un attributo del documento o un campo di metadati associato a un documento come sfaccettato in modo che gli utenti possano effettuare ricerche per categorie o valori all'interno di quel facet. È inoltre possibile visualizzare i facet annidati nei risultati di ricerca in modo che gli utenti possano eseguire la ricerca non solo in base a una categoria o a un campo, ma anche in base a una sottocategoria o sottocampo.

L'esempio seguente mostra come ottenere informazioni sui facet per l'attributo personalizzato «City».

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City" } ] )

È possibile utilizzare sfaccettature annidate per restringere ulteriormente la ricerca. Ad esempio, l'attributo o sfaccettatura del documento «Città» include un valore chiamato «Seattle». Inoltre, l'attributo o sfaccettatura del documento "CityRegion" include i valori «Nord» e «Sud» per i documenti assegnati a «Seattle». È possibile visualizzare le sfaccettature annidate con i relativi conteggi nei risultati di ricerca in modo che i documenti possano essere cercati non solo per città ma anche per regione all'interno di una città.

Tieni presente che i facet annidati potrebbero influire sulla latenza delle query. Una regola generale è che maggiore è il numero di facet annidati utilizzati, maggiore è il potenziale impatto sulla latenza. Altri fattori che influiscono sulla latenza includono la dimensione media dei documenti indicizzati, la dimensione dell'indice, le query estremamente complesse e il carico complessivo sull'indice. Amazon Kendra

L'esempio seguente mostra come ottenere informazioni sui facet per l'attributo personalizzato "CityRegion", come facet annidato all'interno di «City».

response=kendra.query( QueryText = query, IndexId = index, Facets = [ { "DocumentAttributeKey" : "City", "Facets": [ { "DocumentAttributeKey" : "CityRegion" } ] } ] )

Le informazioni sulle sfaccettature, come il conteggio dei documenti, vengono restituite nell'array di risposta. FacetResults I contenuti vengono utilizzati per visualizzare suggerimenti di ricerca sfaccettati nell'applicazione. Ad esempio, se l'attributo del documento «Città» contiene la città a cui può essere applicata una ricerca, utilizzate tali informazioni per visualizzare un elenco di ricerche relative alle città. Gli utenti possono scegliere una città per filtrare i risultati della ricerca. Per effettuare la ricerca sfaccettata, chiama l'API Query e utilizza l'attributo del documento scelto per filtrare i risultati.

È possibile visualizzare fino a 10 valori di sfaccettatura per sfaccettatura per una query e solo una sfaccettatura annidata all'interno di una sfaccettatura. Se desideri aumentare questi limiti, contatta l'assistenza. Se desiderate limitare il numero di valori di sfaccettatura per sfaccettatura a meno di 10, potete specificarlo nell'Facetoggetto.

Il seguente esempio di risposta JSON mostra le sfaccettature che rientrano nell'ambito dell'attributo del documento «City». La risposta include il numero di documenti per il valore del facet.

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' } }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' } } ] } ]

Puoi anche visualizzare le informazioni sulle sfaccettature relative a una sfaccettatura annidata, ad esempio una regione all'interno di una città, per filtrare ulteriormente i risultati della ricerca.

Il seguente esempio di risposta JSON mostra le sfaccettature appartenenti all'attributo "CityRegion" del documento, come sfaccettature annidate all'interno di «Città». La risposta include il conteggio dei documenti per i valori dei facet annidati.

{ 'FacetResults': [ { 'DocumentAttributeKey': 'City', 'DocumentAttributeValueCountPairs': [ { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Dubai' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'Bur Dubai' } }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Deira' } } ] } ] }, { 'Count': 3, 'DocumentAttributeValue': { 'StringValue': 'Seattle' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'North' } }, { 'Count': 2, 'DocumentAttributeValue': { 'StringValue': 'South' } } ] } ] }, { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'Paris' }, 'FacetResults': [ { 'DocumentAttributeKey': 'CityRegion', 'DocumentAttributeValueCountPairs': [ { 'Count': 1, 'DocumentAttributeValue': { 'StringValue': 'City center' } } ] } ] } } ] }

Quando utilizzate un campo con un elenco di stringhe per creare facet, i risultati dei facet restituiti si basano sul contenuto dell'elenco di stringhe. Ad esempio, se avete un campo con un elenco di stringhe che contiene due elementi, uno con l'elenco «bassotto», «cane da salsiccia» e uno con il valore «husky», otterrete tre sfaccettature. FacetResults

Per ulteriori informazioni, consulta Risposte alle interrogazioni e tipi di risposta.

Utilizzo degli attributi del documento per filtrare i risultati della ricerca

Per impostazione predefinita, Query restituisce tutti i risultati della ricerca. Per filtrare le risposte, è possibile eseguire operazioni logiche sugli attributi del documento. Ad esempio, se desideri solo documenti per una città specifica, puoi filtrare gli attributi personalizzati del documento «Città» e «Stato». Si utilizza AttributeFilterper creare un'operazione booleana sui filtri forniti dall'utente.

La maggior parte degli attributi può essere utilizzata per filtrare le risposte per tutti i tipi di risposta. Tuttavia, l'_excerpt_page_numberattributo è applicabile solo ai tipi di ANSWER risposta quando si filtrano le risposte.

L'esempio seguente mostra come eseguire un'operazione AND logica filtrando in base a una città specifica, Seattle, e allo stato di Washington.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'AndAllFilters': [ {"EqualsTo": {"Key": "City","Value": {"StringValue": "Seattle"}}}, {"EqualsTo": {"Key": "State","Value": {"StringValue": "Washington"}}} ] } )

L'esempio seguente mostra come eseguire un'operazione OR logica quando una qualsiasi delle SourceURI chiavi FileformatAuthor, o corrisponde ai valori specificati.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = {'OrAllFilters': [ {"EqualsTo": {"Key": "Fileformat","Value": {"StringValue": "AUTO_DETECT"}}}, {"EqualsTo": {"Key": "Author","Value": {"StringValue": "Ana Carolina"}}}, {"EqualsTo": {"Key": "SourceURI","Value": {"StringValue": "https://aws.amazonaws.com/234234242342"}}} ] } )

Per StringList i campi, utilizzate i filtri ContainsAll degli attributi ContainsAny o per restituire i documenti con la stringa specificata. L'esempio seguente mostra come restituire tutti i documenti che hanno i valori «Seattle» o «Portland» nell'attributo Locations personalizzato.

response=kendra.query( QueryText = query, IndexId = index, AttributeFilter = { "ContainsAny": { "Key": "Locations", "Value": { "StringListValue": [ "Seattle", "Portland"] }} } )

Filtrare gli attributi di ciascun documento nei risultati della ricerca

Amazon Kendra restituisce gli attributi del documento per ogni documento nei risultati della ricerca. È possibile filtrare determinati attributi del documento che si desidera includere nella risposta come parte dei risultati della ricerca. Per impostazione predefinita, tutti gli attributi del documento assegnati a un documento vengono restituiti nella risposta.

Nell'esempio seguente, solo gli attributi _source_uri e del _author documento sono inclusi nella risposta di un documento.

response=kendra.query( QueryText = query, IndexId = index, RequestedDocumentAttributes = ["_source_uri", "_author"] )