Migrazione all'API Amazon CloudSearch 2013-01-01 - Amazon CloudSearch

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à.

Migrazione all'API Amazon CloudSearch 2013-01-01

L'API Amazon CloudSearch 2013-01-01 offre diverse nuove funzionalità, tra cui il supporto per più lingue, l'evidenziazione dei termini di ricerca nei risultati e la ricezione di suggerimenti. Per utilizzare queste funzionalità, devi creare e configurare un nuovo dominio di ricerca 2013-01-01, modificare la pipeline di dati per popolare il nuovo dominio utilizzando il formato di dati 2013-01-01 e aggiornare la pipeline di query per inviare richieste nel formato di richiesta 2013-01-01. In questa guida alla migrazione viene fornito un riepilogo delle modifiche delle API e vengono evidenziate quelle che maggiormente interessano la tua applicazione.

Creazione di domini Amazon 2013-01-01 CloudSearch

Se hai creato CloudSearch domini Amazon prima del lancio dell'API 2013-01-01, puoi scegliere quale versione dell'API utilizzare quando crei un nuovo dominio. Per creare un dominio 2013-01-01 tramite la console, seleziona la versione 2013-01-01 nella Create Domain Wizard. Per creare un dominio 2013-01-01 dalla riga di comando, scarica e installa l'AWS CLI ed esegui il comando. aws cloudsearch create-domain

Nota

Per creare e interagire con i domini 2013-01-01, devi utilizzare gli strumenti dell'interfaccia a riga di comando di AWS. Per creare e interagire con i domini 2011-02-01, devi usare gli strumenti v1.

Argomenti

    Configurazione dei domini Amazon 2013-01-01 CloudSearch

    Puoi configurare i domini 2013-01-01 tramite la console, gli strumenti a riga di comando o AWS SDKs. I domini 2013-01-01 supportano diverse nuove opzioni di configurazione:

    • Schemi di analisi: si configurano gli schemi di analisi per specificare opzioni di elaborazione del testo specifiche della lingua per campi e campi. text text-array Amazon CloudSearch ora supporta 33 lingue, oltre a un'opzione per campi multilingue. Per ulteriori informazioni, consulta Configurazione degli schemi di analisi. Per un elenco completo delle lingue supportate, vedi Lingue supportate.

    • Opzioni di disponibilità: puoi abilitare l'opzione Multi-AZ per espandere un dominio in una seconda zona di disponibilità per garantire la disponibilità in caso di interruzione del servizio. Per ulteriori informazioni, consulta Configurazione delle opzioni di disponibilità.

    • Opzioni di scalabilità: è possibile impostare il tipo di istanza e il numero di repliche desiderati per aumentare la capacità di caricamento o di ricerca, velocizzare le richieste di ricerca e migliorare la tolleranza agli errori. Per ulteriori informazioni, consulta Configurazione delle opzioni di scalabilità in Amazon CloudSearch.

    • Suggestori: è possibile configurare i suggeritori per implementare la funzionalità di completamento automatico. Per ulteriori informazioni, consulta Configurazione dei suggestori per Amazon CloudSearch.

    L'accesso al servizio di CloudSearch configurazione Amazon è gestito tramite IAM e ora consente di controllare l'accesso a specifiche azioni di configurazione. Tieni presente che anche l'Amazon CloudSearch ARN è cambiato. L'accesso ai documenti e agli endpoint di ricerca del tuo dominio è gestito tramite il servizio di CloudSearch configurazione Amazon. Per ulteriori informazioni, consulta configure access policies.

    I domini 2013-01-01 supportano anche un set esteso di opzioni di indicizzazione:

    • Schema di analisi: si configura l'elaborazione del testo specifica della lingua per campo specificando uno schema di analisi per ogni campo. text text-array Per ulteriori informazioni, consulta Configurazione degli schemi di analisi.

    • Tipi di campo: Amazon CloudSearch ora supporta 11 tipi di campo:

      • data: contiene un timestamp. Le date e gli orari sono specificati in UTC (Coordinated Universal Time) secondo IETF: 00:00:00 Z. RFC3339 yyyy-mm-ddT Nel formato UTC, ad esempio, le 17:00 del 23 agosto 1970 sarebbe: 1970-08-23T17:00:00Z.

      • date-array: campo della data che può contenere più valori.

      • double: contiene un valore in virgola mobile da 64 bit a precisione doppia.

      • double-array: campo doppio che può contenere più valori.

      • int: contiene un valore intero da 64 bit.

      • int-array: campo intero che può contenere più valori.

      • latlon: contiene dati di posizione salvati come coppie di valori di latitudine e longitudine.

      • literal: contiene un identificatore o altri dati che devono corrispondere esattamente.

      • literal-array: campo letterale che può contenere più valori.

      • text: contiene dati alfanumerici arbitrari.

      • text-array: campo di testo che può contenere più valori.

    • Evidenzia: quando abiliti l'opzione di evidenziazione per un campo, puoi recuperare degli estratti che mostrano dove si trovano i termini di ricerca all'interno di quel campo. Per ulteriori informazioni, consulta Evidenziazione dei risultati di ricerca su Amazon CloudSearch.

    • Origine: puoi specificare un'origine per un campo in modo che i dati vengano copiati da un campo all'altro. In questo modo potrai utilizzare gli stessi dati di origine in modi diversi configurando opzioni diverse per i campi.

    Quando configuri il tuo dominio 2013-01-01, ci sono diverse cose da tenere a mente:

    • Per impostazione predefinita, quando si aggiunge un campo sono abilitate tutte le opzioni valide per quel tipo di campo. Se da un lato questo è utile per lo sviluppo e i test, disabilitare le opzioni non necessarie può ridurre la dimensione dell'indice e migliorare le prestazioni.

    • È necessario utilizzare campi di tipo array separati per i campi multivalore.

    • Solo i campi a valore singolo possono essere abilitati per l'ordinamento.

    • Solo i campi text e text-array possono essere evidenziabili.

    • Tutti i campi possono essere abilitati per i facet, ad eccezione di text e text-array.

    • Per i campi letterali ora viene fatta distinzione tra maiuscole e minuscole.

    • Non è più necessario archiviare i valori a virgola mobile come numeri interi: utilizza un campo double.

    • Puoi archiviare le posizioni utilizzando il nuovo tipo di campo latlon. Per ulteriori informazioni, consulta location-based searching and sorting.

    • Un campo int è un valore intero con firma a 64 bit.

    • Anziché configurare un campo di ricerca predefinito, è possibile specificare i campi per la ricerca con il parametro q.options nelle richieste di ricerca. Il parametro q.options inoltre consente di specificare la rilevanza per ogni campo.

    • Quando si ordinano e si configurano le espressioni, si fa riferimento al punteggio di rilevanza predefinito con il nome _score. A causa delle modifiche all'algoritmo di pertinenza, i punteggi calcolati saranno diversi da quelli dell'API 2011-02-01. Per ulteriori informazioni, consulta Configurazione di espressioni.

    • Le espressioni ora supportano le funzioni logn, atan2 e haversin, nonché le variabili _score (punteggio di rilevanza testo) e _time (epoca). Se archivi posizioni nei campi latlon, puoi fare riferimento ai valori di latitudine e longitudine come a FIELD.latitude e FIELD.longitude. È inoltre possibile fare riferimento a entrambi i campi int e double nelle espressioni. Le funzioni seguenti non sono più supportate: cs.text_relevance, erf, lgamma, rand e time. Per ulteriori informazioni, consulta Configurazione di espressioni.

    Per ulteriori informazioni sulla configurazione delle opzioni di indicizzazione per un dominio del 01/01/2013, consulta. configure indexing options Per ulteriori informazioni sulla configurazione di opzioni di disponibilità, opzioni di dimensionamento, opzioni di elaborazione testo, suggeritori ed espressioni, vedi Creazione e gestione dei domini di ricerca.

    Nuove azioni e opzioni di Amazon CloudSearch Configuration Service

    Le seguenti azioni sono state aggiunte all'API del servizio di configurazione del 01/01/2013:

    • DefineAnalysisScheme

    • DefineExpression

    • DefineSuggester

    • DeleteAnalysisScheme

    • DeleteExpression

    • DeleteSuggester

    • DexcribeAnalysisSchemes

    • DescribeAvailabilityOptions

    • DescribeExpressions

    • DescribeScalingParameters

    • DescribeSuggesters

    • ListDomainNames

    • UpdateAvailabilityOptions

    • UpdateScalingParameters

    L'opzione deployed è stata aggiunta alle operazioni di descrizione per i campi dell'indice, le policy d'accesso e i suggeritori. Imposta l'opzione deployed su true per visualizzare la configurazione attiva ed escludere le modifiche in sospeso.

    Azioni e opzioni obsolete di Amazon CloudSearch Configuration Service

    Le seguenti azioni non sono supportate nell'API del servizio di configurazione del 01/01/2013:

    • DefineRankExpression

    • DescribeRankExpression

    • DeleteRankExpression

    • DescribeDefaultSearchField

    • DescribeStemmingOptions

    • DescribeStopwordOptions

    • DescribeSynonymOptions

    • UpdateDefaultSearchField

    • UpdateStemmingOptions

    • UpdateStopwordOptions

    • UpdateSynonymOptions

    Caricamento di dati su Amazon Domains 2013-01-01 CloudSearch

    Con l'API 2013-01-01, non è più necessario specificare le versioni dei documenti: gli aggiornamenti vengono applicati nell'ordine in cui vengono ricevuti. Inoltre non è più necessario specificare l'attributo lang per ogni documento, si può controllare l'elaborazione del testo specifica delle lingue configurando uno schema di analisi per ciascun campo text e text-array.

    Per caricare i tuoi dati su un dominio del 01/01/2013, devi:

    • Omettere gli attributi version e lang dai propri batch di documenti.

    • Accertarsi che tutti i campi dei documenti corrispondano ai campi dell'indice configurati per il proprio dominio. I campi non riconosciuti non vengono più ignorati, generano un errore.

    • Pubblica i batch di documenti nell'endpoint doc del tuo dominio 2013-01-01. Tieni presente che devi specificare la versione dell'API 2013-01-01. Ad esempio, la seguente richiesta pubblica il batch contenuto in data1.json per l'endpoint doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com.

      curl -X POST --upload-file data1.json doc-movies-123456789012.us-east-1. cloudsearch.amazonaws.com/2013-01-01/documents/batch --header "Content-Type: application/json"

    L'API 2013-01-01 supporta la prescalabilità del dominio per aumentare la capacità di caricamento. Se la quantità di dati da caricare è significativa, configura le opzioni di dimensionamento del dominio e seleziona un tipo di istanza desiderata di dimensioni maggiori. Passare a un tipo di istanza più grande consente di caricare batch in parallelo e riduce il tempo necessario per l'indicizzazione dei dati. Per ulteriori informazioni, consulta Configurazione delle opzioni di scalabilità in Amazon CloudSearch.

    Per ulteriori informazioni sulla formattazione dei dati, vedi Preparazione dei dati.

    Ricerca di domini Amazon 2013-01-01 CloudSearch

    Gran parte dello sforzo richiesto per migrare un dominio di CloudSearch ricerca Amazon esistente all'API 2013-01-01 consiste nell'aggiornare la pipeline di query per inviare richieste di ricerca compatibili con il 01/01/2013.

    • Usa la versione dell'API 2013-01-01 in tutte le richieste.

    • Utilizza il parametro q per specificare i criteri di ricerca per tutte le richieste. Il parametro bq non è più supportato. Per utilizzare la sintassi di ricerca strutturata (booleana), specifica q.parser=structured nella richiesta.

    • I parametri non possono essere ripetuti in una richiesta di ricerca.

    • Il carattere jolly (*) è supportato solo quando si usa il parser di query semplice. Utilizza l'operatore prefix per eseguire il confronto del prefisso con il parser di query strutturate. Ad esempio q=(prefix 'oce')&q.parser=structured.

    • Utilizza il nome di campo _id per fare riferimento al campo degli ID dei documenti in una richiesta di ricerca. Il nome di campo docid non è più supportato.

    • Utilizza l'operatore range per la ricerca in un campo di un valore interno all'intervallo specificato. L'operatore filter non è più supportato.

    • Utilizza la nuova sintassi degli intervalli per cercare intervalli di valori, tra cui date e ubicazioni archiviate nei campi latlon. La notazione del doppio punto (..) non è più supportata. Separa i limiti superiore e inferiore con una virgola (,) e racchiudi l'intervallo tra parentesi graffe. Una parentesi quadra ([,]) indica che il limite è incluso, una parentesi graffa ({,}) esclude il limite. Ad esempio, year:2008..2011 è ora espresso come year:[2008,2011]. Un intervallo aperto, come year:..2011 è ora espresso come year:{,2011].

    • Utilizza l'operatore term per la ricerca in un campo di un valore specifico. L'operatore field non è più supportato.

    • Utilizza il parametro q.options per specificare le rilevanze di campo. La funzione cs.text_relevance non è più supportata. Ad esempio q.options={fields:['title^2','plot^0.5']}.

    • Utilizza il parametro fq per filtrare i risultati senza modificare l'ordine di priorità dei documenti corrispondenti.

    • Utilizza un punto (.) piuttosto che un trattino (-) come separatore nei parametri di prefisso: expr.NAME, facet.FIELD, highlight.FIELD.

    • Utilizza il parametro facet.FIELD per specificare tutte le opzioni facet. I parametri facet-FIELD-top-N, facet-FIELD-sort e facet-FIELD-constraints non sono più supportati.

    • Utilizza il parametro sort per specificare i campi o le espressioni che desideri utilizzare per l'ordinamento. È necessario specificare in modo esplicito il tipo di ordinamento nel parametro. Ad esempio sort=rank asc, date desc. Il parametro rank non è più supportato.

    • Utilizza expr.NAME per definire un'espressione in una richiesta di ricerca. Il parametro rank-RANKNAME non è più supportato.

    • Utilizza format=xml per ottenere i risultati in formato XML. Il parametro result-type non è più supportato.

    L'API di ricerca 2013-01-01 supporta anche diverse nuove funzionalità:

    • Potenziamento dei termini: utilizza l'boostopzione in una query strutturata per aumentare l'importanza di una parte della query rispetto alle altre parti. Per ulteriori informazioni, consulta Creazione di query composte.

    • Ricerca per frasi sciatta: utilizza l'nearoperatore in una query strutturata per cercare più termini in un text-array campo text o e trovare documenti che contengono i termini entro la distanza specificata l'uno dall'altro. Puoi eseguire una ricerca di frasi simili anche con il parser di query semplice, aggiungendo l'operatore ~ e un valore al periodo. Per ulteriori informazioni, consulta Ricerca di frasi.

    • Ricerca fuzzy: utilizza l'~operatore per eseguire ricerche fuzzy con il semplice parser di query. Aggiungere l'operatore ~ e un valore a un termine per indicare in che misura i termini possono differire ed essere considerati comunque una corrispondenza. Per ulteriori informazioni, consulta Ricerca di singoli termini.

    • Evidenziazione: utilizza il parametro per evidenziare le corrispondenze in un campo particolare. highlight.FIELD Per ulteriori informazioni, consulta Evidenziazione dei risultati di ricerca su Amazon CloudSearch.

    • Completamento automatico: configura un suggeritore e invia le richieste alla suggester risorsa per ottenere un elenco dei completamenti delle query e dei documenti in cui sono stati trovati. Per ulteriori informazioni, consulta Ottenere suggerimenti per il completamento automatico in Amazon CloudSearch.

    • Risultati di ricerca parziali: utilizza il partial=true parametro per recuperare risultati parziali quando una o più partizioni di indice non sono disponibili. Per impostazione predefinita, Amazon restituisce risultati CloudSearch solo se è possibile interrogare ogni partizione.

    • Deep paging: usa il cursor parametro per impaginare i risultati quando hai un set di risultati di grandi dimensioni. Per ulteriori informazioni, consulta Paginate the results.

    • Confronto di tutti i documenti: l'operatore di query strutturata matchall consente di recuperare tutti i documenti nell'indice.

    • Nuovi parser di interrogazione: utilizzate il q.parser parametro per selezionare Lucene o i DisMax parser anziché il parser semplice o strutturato oppure. q.parser=lucene q.parser=dismax

    Noterai inoltre alcune modifiche di comportamento durante le ricerche:

    • Le stringhe non vengono più trasformate in token in corrispondenza delle maiuscole e i periodi che non sono seguiti da uno spazio vengono considerati parte del termine. Per ulteriori informazioni, consulta Elaborazione del testo in Amazon CloudSearch.

    • Per i campi letterali ora viene fatta distinzione tra maiuscole e minuscole.

    • Le risposte delle ricerche non includono più la posizione in classifica, l'espressione corrispondente o il tempo CPU. Le uniche informazioni sullo stato restituite sono l'ID di risorsa (rid) e il tempo di elaborazione (time-ms).

    • Quando si ottengono informazioni sui facet per un campo int, i valori min e max non vengono più restituiti.

    Per ulteriori informazioni sulla ricerca nei dati, vedi Ricerca nei tuoi dati con Amazon CloudSearch e Search API.

    Nuovi parametri e opzioni nell'API di ricerca di Amazon CloudSearch 2013-01-01

    I seguenti parametri sono stati aggiunti all'API di ricerca 2013-01-01:

    • cursor.FIELD

    • expr.NAME

    • facet.FIELD

    • format

    • fq

    • highlight.FIELD

    • partial

    • pretty

    • q.options

    • q.parser

    • return

    • sort

    L'operatore ~ è stato aggiunto al linguaggio di query semplice per supportare le ricerche fuzzy e le ricerche di frasi simili.

    I seguenti operatori sono stati aggiunti al linguaggio di query strutturata:

    • boost

    • matchall

    • near

    • phrase

    • prefix

    • range

    • term

    Parametri e opzioni CloudSearch di ricerca Amazon obsoleti

    I seguenti parametri non sono più supportati nell'API di ricerca 2013-01-01:

    • bq

    • facet-FIELD-top-N

    • facet-FIELD-sort

    • facet-FIELD-constraints

    • rank

    • rank-RANKNAME

    • return-fields

    • result-type

    • t-FIELD

    I seguenti operatori e collegamenti non sono più supportati nelle query strutturate:

    • field

    • filtro

    • -

    • |

    • +

    • *

    Limiti aggiornati in Amazon CloudSearch 2013-01-01

    Questa tabella riassume le modifiche e le aggiunte ai limiti di Amazon CloudSearch . Per l'elenco completo dei CloudSearch limiti di Amazon, consultaLimiti.

    Modifica Riepilogo
    Nomi riservati score è l'unico nome riservato.
    Nessun limite per i dati di restituzione I dati restituiti da un campo di testo non sono più troncati a 2 KB. Tuttavia, è necessario ricordare che i documenti possono avere una dimensione massima di 1 MB.
    Nessun limite per stemming, stopword o dizionari dei sinonimi. Stemming, stopword e dizionari dei sinonimi sono configurati in uno schema di analisi e non ci sono limiti alle dimensioni di una definizione dello schema di analisi.
    Numero massimo di valori di campo Un campo di tipo array può contenere fino a 1000 valori.
    Dimensione dei campi La dimensione massima dei campi literal è 4.096 punti di codice Unicode.
    Intervallo di campi Int Un campo int campo può contenere valori compresi nell'intervallo -9,223,372,036,854,775,808 - 9,223,372,036,854,775,807 (inclusi)
    Numero massimo di evidenziazioni Il numero massimo di occorrenze dei termini di ricerca che possono essere evidenziate è 5.
    Numero massimo di suggeritori Il numero massimo di suggeritori che è possibile configurare per un dominio è 10.
    Numero massimo di occorrenze che è possibile recuperare contemporaneamente Il numero massimo di occorrenze che è possibile recuperare contemporaneamente è 10.000. Il parametro size può contenere valori compresi nell'intervallo 0 - 10.000.