One mailinglist is not shown when quering

Issue Description

root@netcup-server1:/opt/stalwart# stalwart-cli --url … api-key … query MailingList --where text=@domain
Id Email Address Description
k presse@domain
j socialmedia@domain
i sprecherinnen@domain
h it@domain
g kontakt@domain
f finanzen@domain
e helfer@domain
c team@domain
root@netcup-server1:/opt/stalwart# stalwart-cli --url … --api-key … query MailingList --where text=partner
Id Email Address Description
d partner@domain

Expected Behavior

show all mailinglists containing “domain”

Actual Behavior

one list is missing

Reproduction Steps

query mailingslists with stalwart-cli

Relevant Log Output

root@netcup-server1:/opt/stalwart# stalwart-cli --url … api-key … query MailingList --where text=@domain
Id Email Address Description
k presse@domain
j socialmedia@domain
i sprecherinnen@domain
h it@domain
g kontakt@domain
f finanzen@domain
e helfer@domain
c team@domain
root@netcup-server1:/opt/stalwart# stalwart-cli --url … --api-key … query MailingList --where text=partner
Id Email Address Description
d partner@domain

Stalwart Version

v0.16.x

Installation Method

Binary (Linux)

Database Backend

RocksDB

Blob Storage

RocksDB

Search Engine

Internal

Directory Backend

Internal

I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.

on

I have searched this support forum (open and closed topics) and confirm this is not a duplicate.

on

I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.

on

Nothing is missing from the database; the filter doesn’t mean what it looks like it means. text is a word index built from the list name, its description, its alias local parts and its recipients. The list’s own address isn’t part of it, since that’s derived from the domain rather than stored, and matching is on whole tokens, so text=@domain and text=domain are the same query and neither is a substring search.

So those eight lists matched because something in their recipients, or an alias, or the description, is at that domain; and partner matched only because partner is its name. Compare stalwart-cli get MailingList d against one of the eight and you should see the difference in the recipients straight away. If it turns out partner does have recipients at that domain, send me that output, because then I’ve got this wrong.

There’s no domainId filter on MailingList today, so to list everything on a domain you want an unfiltered stalwart-cli query MailingList and to read the address column. I’ll get the reference page to actually say what text searches, since it isn’t guessable as it stands.

ah! that explains the behaviour. I already thought, what a strange bug :slight_smile:
indeed, the partner list doesn’t contain any recipients that have that domain in der email-adress.