Vai al contenuto

Query Elasticsearch

Questo testo è stato tradotto utilizzando l’IA. Se desideri visualizzare il testo originale in inglese, fai clic qui.

Esistono limitazioni leggermente diverse sulle API di query a seconda del livello di servizio di cui disponi (WordPress VIP, Jetpack Professionale o Jetpack Articoli correlati). A seconda del livello di servizio sono disponibili diverse funzionalità dell’Elasticsearch Query DSL. Attualmente sono disponibili due API:

  • Post Search API (VIP e Jetpack Professionale).
    • È essenzialmente un wrapper attorno all’API Elasticsearch /_search.
    • La risposta appare leggermente diversa a causa del filtraggio di alcuni campi e per ragioni storiche.
    • Supporta un sottoinsieme dei parametri di query principali. Consulta la documentazione API.
  • API Articoli correlati (Gratuita)
    • Accetta filtri Elasticsearch per modificare i risultati. Molti esempi comuni sono disponibili qui.
    • Restituisce il post_id e il blog_id di tutti i risultati.

Query (e filtri) consentiti

Per evitare problemi di prestazioni e garantire la compatibilità con le versioni precedenti, consentiamo solo un sottoinsieme dell’ Elasticsearch Query DSL.

Elasticsearch ha abbandonato la separazione esplicita tra query e filtri, quindi nemmeno noi la applichiamo.

Query comuni:

Query avanzate:

Query deprecate (saranno rimossi in futuro):

Aggregazioni consentite

Per evitare problemi di prestazioni e garantire la retrocompatibilità, consentiamo solo un sottoinsieme del DSL delle aggregazioni di Elasticsearch. Attualmente non consentiamo alcuna aggregazione pipeline.

Le aggregazioni non sono consentite su campi di contenuto analizzati (ad es. “content”, “title”, “tag.name.en”).

Aggregazioni metriche

Aggregazioni bucket

Campo Size

La dimensione massima consentita dipende dal tuo livello di servizio:

  • Piano Jetpack Professionale: 0-100
  • WordPress VIP (con un indice dedicato): 0-1000
  • Piano gratuito Jetpack (API Articoli correlati): 1-15

Campo From

Il valore massimo consentito per from dipende dal tuo livello di servizio:

  • Piano Jetpack Professionale: 0-1000
  • WordPress VIP (con un indice dedicato): 0-9000
  • Piano gratuito Jetpack (API Articoli correlati): 0-50

Campi

Sebbene sia possibile restituire campi dall’indice, questa pratica è fortemente sconsigliata per le query in produzione. L’indice è stato ottimizzato per restituire in modo efficiente e rapido post_id e blog_id. Restituire altri campi è possibile, ma rallenterà i risultati di ricerca.

L’altro motivo per affidarsi a post_id e poi ottenere i dati finali dal DB è che l’indice Elasticsearch è solo un mirror dei tuoi dati. È memorizzato nella cache, può essere in ritardo o leggermente non sincronizzato con il tuo database. Ognuna di queste situazioni potrebbe comportare la distribuzione di contenuti obsoleti se ti affidi ad esso.

Ordinamento

L’ordinamento Basic su qualsiasi campo è consentito. Non è permesso alcun tipo di scripting.

Suggerimenti consentiti (Sperimentale)

I suggerimenti sono attualmente sperimentali poiché non disponiamo ancora di librerie che li utilizzano in produzione. È presente una issue aperta su come integrarli. Sono supportati solo i suggerimenti di tipo term e phrase. Il supporto esatto potrebbe cambiare.

Rescoring consentito (Sperimentale)

Attualmente supportiamo il rescoring delle query per alcune funzionalità sperimentali. Probabilmente non dovresti utilizzarlo.

Facet (Deprecato)

I facet sono deprecati e verranno rimossi. Non utilizzarli. Usa invece le aggregazioni. Abbiamo ancora alcuni clienti VIP che li utilizzano, motivo per cui l’API li accetta, ma probabilmente non funzioneranno per te.

* Elasticsearch è un marchio registrato di Elasticsearch BV, registrato negli Stati Uniti e in altri paesi.

Ultimo aggiornamento: giugno 20, 2026