Sim, a melhor maneira de adicionar isso seria adicionar uma seção à instrução WHERE na consulta, filtrando pelo title do tópico.
Por exemplo:
WHERE archetype = 'private_message'
AND subtype = 'system_message'
AND created_at BETWEEN :start_date AND :end_date
AND title = 'Greetings!'
Encontraria todas as mensagens Greetings!.
Observe que algumas das mensagens do sistema não incluem um usuário real, portanto, remover a linha AND user_id > 0 pode ser necessário com esse tipo de consulta.
Você pode querer remover AND deleted_at IS NULL para ainda contar as mensagens de boas-vindas que os usuários podem excluir.
Você pode usar regex para corresponder a tópicos com um título semelhante.
Para corresponder a um tópico por título usando uma expressão regular (regex) no PostgreSQL, você pode usar o operador ~, que corresponde a uma expressão regular contra uma string. A estrutura da consulta seria assim:
SELECT *
FROM topics
WHERE title ~ 'YourRegexPatternHere'
Substitua 'YourRegexPatternHere' pelo padrão de regex real que você deseja corresponder ao campo title.
Por exemplo, se você estiver procurando por tópicos com títulos que contenham a palavra “Welcome” (ignorando maiúsculas e minúsculas), você poderia usar:
SELECT *
FROM topics
WHERE title ~* 'Welcome'
O operador ~* é usado para correspondência que ignora maiúsculas e minúsculas.