Searching for posts created within a specific timeframe

:bookmark: This guide explains how to use Discourse’s search functionality to find posts created within a certain timeframe.

:person_raising_hand: Required user level: All users

Discourse’s search interface allows you to scope your searches to specific date ranges using the before and after search clauses. This feature can be particularly useful when you need to find posts from a certain period or within a specific timeframe.

Using the before and after clauses

The before and after clauses accept the following date formats:

  • Full date (YYYY-MM-DD)
  • Name of month
  • Day of week

Here are some examples to help you understand how to use these clauses:

  1. before:june hashtag

    • This will find posts with the term “hashtag” that were created before last June.
  2. before:2014 category:bug order:latest

    • This search will return posts in the “bug” category created before 2014, ordered by the most recent first.
  3. after:friday broken

    • This will find posts containing the word “broken” that were created after last Friday.
  4. after:2016-01-12 before:2016-01-20 happy

    • This search will return posts containing the word “happy” that were created between January 12, 2016, and January 20, 2016.
  5. after:june before:july in:first composer

    • This will search for the word “composer” in the first post of topics created between last June and last July.
  6. after:10 before:8 thing

    • This search will find posts containing the word “thing” that were created between 8 and 10 days ago.

Important notes

  • All dates are in UTC (Coordinated Universal Time).
  • The search uses the beginning of the day (00:00:00 UTC) as the start time for any period.
  • The filter applies to the created_at date of posts, not the date a topic was created.
  • If you need to filter based on topic creation date, use the in:first clause in your search query.

Limitations

Currently, the search function does not support sub-day resolution without specifying a full qualified date. For example, searching for posts that are at least 2 hours old using before:2h or before:120m is not possible.

:bulb: If you need more precise time-based filtering (e.g., posts older than 2 hours), consider using a Data Explorer report. This can be especially useful for support teams who need to give community members a chance to answer questions before intervening.

Last edited by @hugh 2024-07-02T09:45:57Z

Last checked by @hugh 2024-07-02T09:46:04Z

Check documentPerform check on document:
13 Likes

What units are available for after: and before: searches? I see units defaults to days, can we get sub-day resolution without specifying a full qualified date?

My specific use case: I wish to return post that are at least 2 hours old. I intend to use in:first to pick up topics created more than 2 hours ago.

I tried before:2h, before:120m and before:02:00:00 but none of them worked.

The reason: our support team want to give community members a chance to answer questions before they jump in and try and resolve requests for help.

1 Like

A data explorer report made available to your support team may be a more suitable option for this if you need it for a shorter time than a day. They could then add it to their sidebar and have it on-hand to run as and when. :+1:

3 Likes