Understanding Persistent Queries

Coveo introduced persistent queries in 2018 to help customers reduce their QPM (queries per month). You can refer to the Understanding Queries article to get more detailed information about what does and doesn’t count as a query

What’s a Persistent Query

Some Coveo Cloud implementations can generate a lot of queries per month. Coveo has introduced persistent queries to help tackle this problem. Persistent queries allow you to render relatively static, search-based content without significantly impacting your monthly query quota.

A persistent query is just like a normal query, except it returns cached content. The content will be refreshed with the indexed information every two hours using the same search request parameters. Each Coveo organization is allowed a certain number of persistent queries, which can be used to flag any query performed against its index. A query flagged as persistent can be performed indefinitely as it doesn’t count against the query per month quota. A persistent query only counts once, in the persistent query limit. The persistent query count is reset to zero on the first day of each month (see Persistent Queries).

See Rendering Static Content Using Persistent Queries for more technical information and leading practices.

  • A website uses Coveo to power its listing pages. The results returned by these queries don’t change very often and are the same for all end users. Using persistent queries to power these pages will allow the underlying Coveo organization to save on QPM. In this use case, each listing page requires a persistent query; the number of times those pages are reloaded will therefore not affect the QPM. If the content of a listing page changes, the updated results will appear next time the persistent query cache refreshes (by default two hours).

  • A commerce website uses Coveo to display some featured products on its home page. Those products are selected on a daily basis by the content manager and are configured directly in Coveo Cloud. Since the website is using personalization, there are three kinds of featured products, based on three personas. To prevent querying the index each time an end user is accessing the home page, persistent queries are used. However, since there’s a small variation in the queries (the persona), three persistent queries will be required to render the component for every use case.

Recommended Articles