L'API Search fornisce un modello a documenti di indicizzazione contenenti dati strutturati. Puoi cercare in un indice organizzare e presentare i risultati di ricerca. L'API supporta la corrispondenza del testo completo su campi di stringa. I documenti e gli indici vengono salvati in un archivio permanente separato ottimizzate per le operazioni di ricerca. L'API Search può indicizzare un numero qualsiasi di documenti. La App Engine Datastore può essere più appropriato per le applicazioni che devono per recuperare set di risultati molto grandi.
Panoramica
L'API Search si basa su quattro concetti principali: documenti, indici, query e che consentono di analizzare i dati e visualizzare i risultati.
Documenti
Un documento è un oggetto con un ID univoco e un elenco di campi contenenti e i dati di Google Cloud. Ogni campo ha un nome e un tipo. Esistono diversi tipi di campi: identificati dai tipi di valori che contengono:
- Campo Atom: una stringa di caratteri indivisibile.
- Campo di testo: una stringa di testo normale in cui è possibile cercare parola per parola.
- Campo HTML: una stringa contenente tag di markup HTML, soltanto il testo esterno nei tag di markup.
- Campo numerico: un numero con rappresentazione in virgola mobile.
- Campo Data: un oggetto data con anno/mese/giorno e l'orario facoltativo.
- Campo punto geografico: un oggetto dati con coordinate di latitudine e longitudine.
La dimensione massima di un documento è 1 MB.
Indici
Un indice archivia i documenti per il recupero. Puoi recuperare un singolo documento il suo ID, un intervallo di documenti con ID consecutivi o tutti i documenti indice. Puoi anche cercare in un indice per recuperare documenti che soddisfano una criteri sui campi e sui relativi valori, specificati come stringa di query. Puoi gestire gruppi di documenti inserendoli in indici separati.
Non c'è limite al numero di documenti in un indice o al numero di che puoi utilizzare. La dimensione totale di tutti i documenti in un singolo indice è è limitato a 10 GB per impostazione predefinita. Gli utenti con il ruolo Amministratore App Engine possono inviare una richiesta dalla console Google Cloud App Engine Search per ingrandire fino a 200 GB.
Query
Per cercare in un indice, devi creare una query contenente una stringa di query ed eventualmente alcune opzioni aggiuntive. Una stringa di query specifica le condizioni per i valori uno o più campi documento. Quando cerchi un indice, vengono restituiti solo quelli documenti nell'indice con campi che soddisfano la query.
La query più semplice, a volte chiamata "ricerca globale" è una stringa che contiene solo valori dei campi. Questa ricerca utilizza una stringa per cercare documenti che contengono le parole "rosa" e "acqua":
che cerca i documenti con campi che contengono la data 4 luglio 1776 o campi di testo che includono la stringa "1776-07-04":
Una stringa di query può anche essere più specifica. Può contenere uno o più termini, ciascuno assegnare un nome a un campo e a un vincolo al valore. La forma esatta di un termine dipende dal tipo di campo. Ad esempio, supponendo che esista un campo di testo chiamato "prodotto" e un numero campo denominato "price", ecco un'immagine stringa di query con due termini:
Le opzioni di query, come suggerisce il nome, non sono obbligatorie. Consentono una varietà di caratteristiche:
- Controlla quanti documenti vengono restituiti nei risultati della ricerca.
- Specifica quali campi del documento includere nei risultati. L'impostazione predefinita è includere tutti i campi del documento originale. Puoi specificare che I risultati includono solo un sottoinsieme di campi (il documento originale non è interessato).
- Ordina i risultati.
- Creare "campi calcolati" per i documenti con
FieldExpressions
e i campi di testo ridotti snippet. - È possibile scorrere le pagine nei risultati di ricerca restituendo solo una parte dei documenti corrispondenti in ogni query (utilizzando offset e cursori)
Ti consigliamo di registrare le stringhe di query nella tua applicazione se vuoi mantenere delle query eseguite.
Risultati di ricerca
Una chiamata al numerosearch()
può restituire solo un numero limitato di documenti corrispondenti.
La ricerca potrebbe trovare più documenti di quelli che possono essere restituiti in una singola chiamata. Ciascuna
ricerca restituisce un'istanza
SearchResults
, che contiene informazioni sul numero di documenti trovati e su come
ne sono stati restituiti molti, insieme all'elenco dei documenti restituiti. Puoi ripetere
la stessa ricerca, utilizzando
cursori
o offset
per recuperare il set completo di documenti corrispondenti.
Materiale di formazione aggiuntivo
Oltre a questa documentazione, puoi leggere corso di formazione in due parti sull'API Search all'indirizzo Google Developer's Academy. Il corso include un dell'applicazione Python di esempio.
Documenti e campi
La classe Document rappresenta i documenti. Ogni documento include un identificatore documento e un elenco di campi.Identificatore documento
Ogni documento in un indice deve avere un identificatore di documento univoco o doc_id
.
L'identificatore può essere utilizzato per recuperare un documento da un indice senza eseguire
una ricerca. Per impostazione predefinita, l'API Search genera automaticamente un doc_id
quando
viene creato un documento. Puoi anche specificare doc_id
personalmente quando
per creare un documento. Un elemento doc_id
deve contenere solo caratteri ASCII visibili e stampabili
(codici ASCII da 33 a 126 inclusi) e non più di 500
caratteri. Un identificatore di documento non può iniziare con un punto esclamativo ("!"),
e non può iniziare e terminare con trattini bassi ("__").
Sebbene sia conveniente creare identificatori di documenti univoci leggibili e significativi,
non puoi includere doc_id
in una ricerca. Pensa a questo scenario:
avere un indice con documenti che rappresentano le parti, utilizzando il numero seriale
numero come doc_id
. Sarà molto efficiente recuperare il documento
per ogni singola parte, ma sarà impossibile cercare una serie di
numeri insieme ad altri valori di campo, come la data di acquisto. Memorizzazione del numero di serie
numero in un campo atomico risolve il problema.
Campi documento
Un documento contiene campi con un nome, un tipo e un singolo valore di quel tipo. Due o più campi possono avere lo stesso nome, ma tipi diversi. Per Ad esempio, puoi definire due campi con il nome "age": uno di tipo testo (il valore "ventidue"), l'altra con un tipo di numero (valore 22).
Nomi dei campi
I nomi dei campi sono sensibili alle maiuscole e possono contenere solo caratteri ASCII. Devono iniziare con una lettera e può contenere lettere, numeri o trattini bassi. Nome di un campo non può contenere più di 500 caratteri.
Campi a più valori
Un campo può contenere un solo valore, che deve corrispondere al tipo di campo. Campo i nomi non devono essere necessariamente univoci. Un documento può avere più campi con lo stesso nome e lo stesso tipo, per rappresentare un campo con più valori. Tuttavia, i campi di date e numeri con lo stesso nome non possono essere ripetuti. Un documento può anche contenere più campi con lo stesso nome diversi.
Tipi di campo
Esistono tre tipi di campi in cui vengono memorizzate le stringhe di caratteri: collettivamente noi come campi stringa:
- Campo di testo: una stringa di lunghezza massima di 1024**2 caratteri.
- Campo HTML: una stringa in formato HTML con lunghezza massima di 1024**2 caratteri.
- Campo Atom: una stringa di lunghezza massima di 500 caratteri.
Esistono anche tre tipi di campi per l'archiviazione di dati non testuali:
- Campo numerico: un valore in virgola mobile a doppia precisione compreso tra -2.147.483.647 e 2.147.483.647.
- Campo data: A
datetime.date
odatetime.datetime
. - Campo punti geografici: un punto sulla Terra descritto da latitudine e longitudine coordinate.
I tipi di campo sono specificati dalle classi
TextField
,
HtmlField
,
AtomField
,
NumberField
,
DateField
,
e GeoField
.
Trattamento speciale dei campi di stringhe e date
Quando un documento con data, testo o I campi HTML vengono aggiunti a un indice; si verificano alcune operazioni speciali. È utile a capire cosa sta succedendo "in background" per utilizzare l'API Search in modo efficace.
Tokenizzazione dei campi stringa
Quando un campo HTML o di testo viene indicizzato, i relativi contenuti vengono tokenizzati. La stringa è suddiviso in token, indipendentemente dal fatto che gli spazi vuoti o i caratteri speciali (segni di punteggiatura, segni di cancelletto, barra rovesciata e così via). L'indice includerà una voce per ogni token. Ciò consente di cercare parole chiave e frasi che comprende solo una parte del valore di un campo. Ad esempio, la ricerca di "scuro" che associa un documento a un campo di testo contenente la stringa "it was a dark and notte tempestosa" e la ricerca di "tempo" corrisponderà a un documento con un campo di testo contenente la stringa "this is a real-time system".
Nei campi HTML, il testo all'interno dei tag di markup non è tokenizzato, quindi un documento con un
Il campo HTML contenente it was a <strong>dark</strong> night
corrisponderà a
cerca "notte", ma non "forte". Se vuoi poter cercare
di markup, memorizzalo in un campo di testo.
I campi Atom non sono tokenizzati. Un documento con un campo atomico che ha il valore "maltempo" corrisponderà solo alla ricerca dell'intera stringa "maltempo". it non trova corrispondenze per la ricerca di "non valido" o "meteo" da soli.
Regole di tokenizzazione
Il trattino basso (_) e la e commerciale (&) non suddividono le parole in di token.
Gli spazi vuoti suddividono sempre le parole in token: spazio, carrozza reso, avanzamento a riga, scheda orizzontale, tabulazione verticale, feed modulo e NULL.
Questi caratteri vengono trattati come punteggiatura e suddivideranno le parole in token:
! " % ( ) * , - | / [ ] ] ^ ` : = > ? @ { } ~ $ I caratteri nella tabella seguente di solito suddividono le parole in token, ma possono essere gestiti in modo diverso a seconda del contesto in cui vengono visualizzate:
Basato su caratteri Regola <
In un campo HTML il valore "minore di" indica l'inizio di un tag HTML che viene ignorato. +
Una stringa composta da uno o più "plus" vengono trattati come parte della parola se compare alla fine della parola (C++). #
L'"hash" è trattato come parte della parola se è preceduta da a, b, c, d, e, f, g, j o x (a# - g# sono note musicali; j# e x# sono linguaggio di programmazione, c# sono entrambi). Se un termine è preceduto da "#" (#google), viene trattato come un hashtag e l'hash diventa parte della parola. '
L'apostrofo è una lettera se precede la lettera "s" seguito da un'interruzione di parola, come in "John's hat". .
Se tra le cifre compare una virgola decimale, questo fa parte di un numero (ovvero il separatore decimale). Può anche essere parte di una parola se usato in un acronimo (A.B.C). -
Il trattino fa parte di una parola se usato in un acronimo (I-B-M). Tutti gli altri caratteri a 7 bit, tranne lettere e numeri ("A-Z", "a-z", "0-9") sono gestiti come punteggiatura e suddividono le parole in token.
Tutto il resto viene analizzato come carattere UTF-8.
Acronimi
La tokenizzazione utilizza regole speciali per riconoscere gli acronimi (stringhe come "I.B.M.", "a-b-c" o "C I A"). Un acronimo è una stringa di singoli caratteri alfabetici, con lo stesso carattere separatore tra tutti i caratteri. I separatori validi sono il punto, il trattino o un numero qualsiasi di spazi. Il carattere separatore viene rimosso dalla stringa quando viene tokenizzato un acronimo. Quindi le stringhe di esempio menzionate sopra diventano i token "ibm", "abc" e "cia". Il testo originale rimane nel campo del documento.
Quando hai a che fare con gli acronimi, tieni presente che:
- Un acronimo non può contenere più di 21 lettere. Una stringa di acronimi valida con più di 21 lettere saranno suddivise in una serie di acronimi, ogni 21 lettere o meno.
- Se le lettere di un acronimo sono separate da spazi, tutte le lettere devono essere lo stesso caso. Gli acronimi creati con punto e trattino possono usare lettere maiuscole e minuscole lettere.
- Quando cerchi un acronimo, puoi inserire la relativa forma canonica (la stringa senza separatori) o l'acronimo con la punteggiatura preceduta dal carattere trattino o il punto (ma non entrambi) tra le lettere. Quindi il testo "I.B.M" potresti essere recuperate con uno dei termini di ricerca "I-B-M", "I.B.M" o "IBM".
Precisione del campo della data
Quando crei un campo data in una
documento in cui imposti il suo valore
datetime.date
o datetime.datetime
. Tieni presente che solo
Data e ora "naive" in Python
di oggetti strutturati. "Consapevole" non sono consentiti.
.
Ai fini dell'indicizzazione e della ricerca
campo data, qualsiasi componente temporale è
ignorata e la data viene convertita nel numero di giorni a partire dal giorno 1/1/1970 UTC. Questo
significa che anche se il campo Data
può contenere un valore di tempo preciso; una query relativa a una data può specificare solo
valore del campo data nel modulo
yyyy-mm-dd
. Ciò significa anche che l'ordine ordinato
i campi data con la stessa data sono
non ben definiti.
Altre proprietà del documento
Il ranking di un documento è un numero intero positivo che determina il valore predefinito
l'ordine dei documenti restituiti da una ricerca. Per impostazione predefinita, il ranking è impostato su
l'ora di creazione del documento calcolata in secondi dal 1° gennaio,
2011. Puoi impostare esplicitamente il ranking quando crei un documento. È un brutto
di assegnare lo stesso ranking a molti documenti e non si dovrebbe mai
di più di 10.000 documenti di pari livello.
Se specifichi ordinare
opzioni,
puoi utilizzare il ranking come chiave di ordinamento. Tieni presente che quando il ranking viene utilizzato in un ordinamento
espressione
o un'espressione di campo
viene indicato come _rank
.
La language specifica la lingua in che i campi sono codificati.
Consulta le
Document
pagina di riferimento della classe per ulteriori dettagli su questi attributi.
Collegamento da un documento ad altre risorse
Puoi utilizzare l'doc_id
e altri campi di un documento come link ad altri
di risorse nella tua applicazione. Ad esempio, se utilizzi
Blobstore che puoi associare
il documento con un blob specifico impostando doc_id
o il valore di un
Campo Atom alla BlobKey dei dati.
Creazione di un documento
Il seguente esempio di codice mostra come creare un oggetto documento. Il documento
viene chiamato con l'argomento campi impostato su un elenco di oggetti campo.
Ogni oggetto nell'elenco viene creato e inizializzato utilizzando il costruttore
funzione della classe del campo. Nota l'utilizzo delle proprietà
Costruttore GeoPoint
e la classe datetime
Python per creare i tipi appropriati di valori dei campi.
Utilizzo di un indice
Inserire i documenti in un indice
Quando inserisci un documento in un indice, questo viene copiato in
storage e ognuno dei suoi campi viene indicizzato in base a nome, tipo e
doc_id
.
Il seguente esempio di codice mostra come accedere a un indice e inserire un documento in li annotino.
Puoi trasferire fino a 200 documenti alla volta al metodoput()
. Batch put in batch
è più efficiente rispetto all'aggiunta di documenti uno alla volta.
Quando inserisci un documento in un indice e l'indice contiene già un documento
con lo stesso doc_id
, il nuovo documento sostituisce quello precedente. Nessun avviso è
fornite. Puoi chiamare
Index.get(id)
prima di creare o aggiungere un documento a un indice per verificare se un determinato
doc_id
esiste già.
Il metodo put
restituisce un elenco di PutResults
,
uno per ogni documento passato come argomento. Se non hai specificato
doc_id
, puoi esaminare l'attributo id
del risultato per
individua doc_id
che è stato generato:
Tieni presente che la creazione di un'istanza di Index
non garantisce che
dell'indice permanente esistente. Un indice permanente viene creato la prima volta
aggiungi un documento con il metodo put
.
Se vuoi verificare se un
esistente esiste prima di iniziare a utilizzarlo, utilizza
search.get_indexes()
personalizzata.
Aggiornamento dei documenti
Un documento non può essere modificato dopo averlo aggiunto a un indice. Non puoi aggiungere o
rimuovi campi o modifica il valore di un campo. Tuttavia, puoi sostituire il documento
con un nuovo documento con lo stesso doc_id
.
Recupero di documenti per doc_id in corso...
Esistono due modi per recuperare documenti da un indice utilizzando identificatori:- Utilizza
Index.get()
per recuperare un singolo documento tramite il relativodoc_id
. - Utilizza
Index.get_range()
per recuperare un gruppo di documenti consecutivi ordinati in base adoc_id
.
Ogni chiamata è mostrata nell'esempio seguente.
Ricerca di documenti in base ai contenuti
Per recuperare documenti da un indice, puoi creare una stringa di query e richiamare
Index.search()
.
La stringa di query può essere passata direttamente
come argomento oppure puoi includere la stringa in una
Query
che viene passato come argomento.
Per impostazione predefinita, search()
restituisce i valori corrispondenti
documenti ordinati in ordine decrescente. Per controllare quanti documenti vengono
o come vengono ordinati o aggiungere campi calcolati ai risultati, è necessario
per utilizzare un oggetto Query
, che contiene una stringa di query e può anche specificare
altre opzioni di ricerca e ordinamento.
Eliminazione di un indice
Ogni indice è composto da documenti indicizzati e da un schema dell'indice. Per eliminare un indice: eliminare tutti i documenti in un indice e poi eliminare lo schema dell'indice.
Puoi eliminare i documenti in un indice specificando il doc_id
di
uno o più documenti
da eliminare al metodo Index.delete().
Devi eliminare i documenti in batch per migliorare l'efficienza. Puoi trasferire fino a
200 ID documento alla volta nel metodo delete()
.
def delete_index(index): # index.get_range by returns up to 100 documents at a time, so we must # loop until we've deleted all items. while True: # Use ids_only to get the list of document IDs in the index without # the overhead of getting the entire document. document_ids = [ document.doc_id for document in index.get_range(ids_only=True)] # If no IDs were returned, we've deleted everything. if not document_ids: break # Delete the documents for the given IDs index.delete(document_ids) # delete the index schema index.delete_schema()Puoi trasferire fino a 200 documenti alla volta al metodo
delete()
. Batch
le eliminazioni sono più efficienti che gestirle una alla volta.
Coerenza finale
Quando inserisci, aggiorni o elimini un documento in un indice, la modifica si propaga in più data center. Questo di solito avviene rapidamente, ma quando possono variare. L'API Search garantisce che il termine coerenza. Ciò significa che in alcuni casi, una ricerca o il recupero di uno o più documenti risultati che non riflettono le modifiche più recenti.
Determinare la dimensione di un indice
Un indice archivia i documenti per il recupero. Puoi recuperare un singolo documento
il suo ID, un intervallo di documenti con ID consecutivi o tutti i documenti
indice. Puoi anche cercare in un indice per recuperare documenti che soddisfano una
criteri sui campi e sui relativi valori, specificati come stringa di query. Puoi gestire
gruppi di documenti inserendoli in indici separati. Non c'è limite a
il numero di documenti in un indice o il numero di indici che puoi utilizzare. La
la dimensione totale di tutti i documenti in un singolo indice è limitata a 10 GB per impostazione predefinita
ma possono essere aumentati fino a 200 GB inviando una richiesta dal
App Engine Search della console Google Cloud
. La proprietà index
storage_limit
è la dimensione massima consentita di un indice.
storage_usage
è una stima della quantità di spazio di archiviazione utilizzata da un indice. Questo numero è
è una stima perché il sistema di monitoraggio dell'indice non funziona in modo continuo; il
l'utilizzo effettivo viene calcolato periodicamente. Il valore storage_usage
viene regolato tra
i punti di campionamento tenendo conto delle aggiunte ai documenti, ma non delle eliminazioni.
Esecuzione di operazioni asincrone
Puoi utilizzare le chiamate asincrone per eseguire più operazioni senza bloccare per poi recuperare tutti i risultati contemporaneamente, bloccandoli una sola volta. Per Ad esempio, il seguente codice esegue più ricerche in modo asincrono:
Schemi indice
Ogni indice ha uno schema che mostra tutti i nomi e i tipi di campi che nei documenti che contiene. Non puoi definire uno schema personalmente. Gli schemi vengono gestiti in modo dinamico; vengono aggiornate man mano che vengono aggiunti un indice. Uno schema semplice potrebbe essere simile al seguente, in formato JSON:
{'comment': ['TEXT'], 'date': ['DATE'], 'author': ['TEXT'], 'count': ['NUMBER']}
Ogni chiave nel dizionario è il nome di un campo del documento. Il valore della chiave è un dei tipi di campo utilizzati con il nome di quel campo. Se hai utilizzato lo stesso nome campo con tipi di campi diversi lo schema elenca più di un campo digita il nome di un campo, come in questo esempio:
{'ambiguous-integer': ['TEXT', 'NUMBER', 'ATOM']}
Quando un campo compare in uno schema, non può mai essere rimosso. Non è possibile eliminare un campo, anche se l'indice non contiene più documenti con quel particolare nome campo.
Puoi visualizzare gli schemi per i tuoi indici in questo modo:from google.appengine.api import search
...
for index in search.get_indexes(fetch_schema=True):
logging.info("index %s", index.name)
logging.info("schema: %s", index.schema)
Tieni presente che una chiamata a
get_indexes
non può restituire
più di 1000 indici. Per recuperare altri indici,
chiama ripetutamente la funzione utilizzando l'argomento start_index_name
.
Uno schema non definisce una "classe" nel senso della programmazione di oggetti. Per quanto riguarda all'API Search, ogni documento è univoco e gli indici possono contenere diversi tipi di documenti. Se vuoi trattare raccolte di oggetti con lo stesso elenco di campi delle istanze di una classe, è un'astrazione che devi in modo forzato nel codice. Ad esempio, puoi assicurarti che tutti i documenti con lo stesso insieme di campi viene conservato nel proprio indice. Lo schema dell'indice può essere visto come definizione della classe e ogni documento nell'indice è un'istanza per la classe.
Visualizzazione degli indici nella console Google Cloud
Nella console Google Cloud, puoi visualizzare le informazioni sul tuo degli indici dell'applicazione e dei documenti che contengono. Se fai clic sul nome di un indice, vengono visualizzati i documenti che contiene. Vedrai tutti i campi schema definiti per l'indice; per ogni documento con un campo con questo nome, vedrai il valore del campo. Puoi anche eseguire query sull'indice direttamente dalla console.
Quote dell'API Search
L'API Search prevede diverse quote gratuite:
Risorsa o chiamata API | Quota gratuita |
---|---|
Capacità di archiviazione totale (documenti e indici) | 0,25 GB |
Query | 1000 query al giorno |
Aggiunta di documenti agli indici | 0,01 GB al giorno |
L'API Search impone questi limiti per garantire l'affidabilità del servizio. Queste norme valgono per le app gratuite e a pagamento:
Risorsa | Quota di sicurezza |
---|---|
Utilizzo massimo delle query | 100 minuti aggregati di tempo di esecuzione della query al minuto |
Numero massimo di documenti aggiunti o eliminati | 15.000 al minuto |
Dimensione massima per indice (numero illimitato di indici consentito) | 10 GB |
L'utilizzo dell'API viene conteggiato in modi diversi a seconda del tipo di chiamata:
Index.search()
: ogni chiamata API viene conteggiata come una query; è il tempo di esecuzione equivalente alla latenza della chiamata.Index.put()
: quando aggiungi documenti per indicizzare le dimensioni di ciascun documento e il numero di documenti viene conteggiato ai fini della quota di indicizzazione.- Tutte le altre chiamate all'API Search vengono conteggiate in base al numero di operazioni che
comporta:
-
search.get_indexes()
: 1 operazione è contato per ciascun indice effettivamente restituito oppure 1 operazione se non viene restituito nulla restituito. -
Index.get()
eIndex.get_range()
: 1 operazione conteggiata per ogni documento effettivamente restituito oppure 1 operazione se non viene restituito nulla. -
Index.delete()
: 1 operazione conteggiata per ogni documento nella richiesta o 1 operazione se la richiesta è vuota.
-
La quota per la velocità effettiva delle query è imposta in modo che un singolo utente non possa eseguire la monopolizzazione il servizio di ricerca. Poiché le query possono essere eseguite contemporaneamente, ogni applicazione può eseguire query che consumano fino a 100 minuti di tempo di esecuzione a un minuto di tempo. Se esegui molte query brevi, probabilmente non raggiungeranno questo limite. Una volta superata la quota, le query successive non riusciranno fino alla sezione temporale successiva, quando la quota verrà ripristinata. La quota non è rigorosamente in porzioni da un minuto; una variante del l'algoritmo leaky bucket viene utilizzato controllare la larghezza di banda della ricerca con incrementi di cinque secondi.
Per ulteriori informazioni sulle quote, consulta la pagina Quote . Quando un'app tenta di superare questi valori, viene restituito un errore di quota insufficiente restituito.
Tieni presente che, anche se questi limiti vengono applicati al minuto, nella console i totali giornalieri di ognuna. Clienti con L'assistenza Silver, Gold o Platinum può richiedere una maggiore di velocità effettiva limitata contattando il rappresentante dell'assistenza.
Prezzi dell'API Search
All'utilizzo che supera le quote gratuite vengono applicati i seguenti costi:
Risorsa | Costo |
---|---|
Capacità di archiviazione totale (documenti e indici) | $0,18 per GB al mese |
Query | 0,50 $ per 10.000 query |
Indicizzazione dei documenti disponibili per la ricerca | 2,00 $ per GB |
Puoi trovare ulteriori informazioni sui prezzi nella pagina Prezzi.