Philip Warner
2022-Sep-19 01:04 UTC
doveadm-search finds emails, but IMAP search fails to find any
Using dovecot 2.3.7.2 with solr 8.11.2 when I do: doveadm search -u user mailbox INBOX subject "something" I get multiple mail ID's. When I start a manual IMAP session and login as that user, select INBOX, and try the command: . search subject "something" It returns zero mail ID's; this is consistent across all searches using IMAP - no results returned, no matter what I search for in IMAP. The dovecot -n command returns: # 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.7.2 () # OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS # Hostname: WITHELD mail_location = maildir:~/Mail mail_plugins = " fts fts_solr virtual" mail_privileged_group = mail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { location = virtual:~/Mail/virtual prefix = virtual. separator = . } namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } mailbox virtual.All { comment = All my messages special_use = \All } prefix } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } passdb { driver = pam } plugin { fts = solr fts_autoindex = yes fts_enforced = yes fts_solr = url=http://localhost:8983/solr/dovecot/ sieve = file:~/sieve;active=~/.dovecot.sieve } protocols = " imap lmtp sieve pop3 sieve" service imap { vsz_limit = 4 G } service index-worker { vsz_limit = 2 G } service indexer-worker { vsz_limit = 2 G } service lmtp { inet_listener lmtp { address = 127.0.0.1 port = 24 } } ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem ssl_client_ca_dir = /etc/ssl/certs ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it userdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } userdb { driver = passwd } protocol lmtp { mail_plugins = " fts fts_solr virtual sieve" postmaster_address = WITHELD } protocol lda { mail_plugins = " fts fts_solr virtual sieve" } protocol imap { mail_max_userip_connections = 40 } - -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20220919/6eaf0708/attachment.htm>
Philip Warner
2022-Sep-19 13:10 UTC
doveadm-search finds emails, but IMAP search fails to find any
OK...I have made some progress with this. Looking through the SOLR logs, the query that IMAP is sending has ?user:FULL-EMAIL-ADDRESS? whereas the doveadm search has ?user:USERNAME?. The indexing was done using just the username. Is there a way to change the IMAP search command username to match the username used to login? This is further complicated by the fts automatic update setting: it seems to use the domain-less username when updating SOLR. Something to ensure a consistent username for indexing would be great. - From: Philip Warner Sent: Monday, 19 September 2022 10:30 PM To: dovecot at dovecot.org Subject: doveadm-search finds emails, but IMAP search fails to find any Using dovecot 2.3.7.2 with solr 8.11.2 when I do: doveadm search -u user mailbox INBOX subject "something" I get multiple mail ID's. When I start a manual IMAP session and login as that user, select INBOX, and try the command: . search subject "something" It returns zero mail ID's; this is consistent across all searches using IMAP - no results returned, no matter what I search for in IMAP. The dovecot -n command returns: # 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.7.2 () # OS: Linux 5.4.0-125-generic x86_64 Ubuntu 20.04.5 LTS # Hostname: WITHELD mail_location = maildir:~/Mail mail_plugins = " fts fts_solr virtual" mail_privileged_group = mail managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext namespace { ? location = virtual:~/Mail/virtual ? prefix = virtual. ? separator = . } namespace inbox { ? inbox = yes ? location ? mailbox Drafts { ??? special_use = \Drafts ? } ? mailbox Junk { ??? special_use = \Junk ? } ? mailbox Sent { ??? special_use = \Sent ? } ? mailbox "Sent Messages" { ??? special_use = \Sent ? } ? mailbox Trash { ??? special_use = \Trash ? } ? mailbox virtual.All { ??? comment = All my messages ??? special_use = \All ? } ? prefix } passdb { ? args = /etc/dovecot/dovecot-sql.conf.ext ? driver = sql } passdb { ? driver = pam } plugin { ? fts = solr ? fts_autoindex = yes ? fts_enforced = yes ? fts_solr = url=http://localhost:8983/solr/dovecot/ ? sieve = file:~/sieve;active=~/.dovecot.sieve } protocols = " imap lmtp sieve pop3 sieve" service imap { ? vsz_limit = 4 G } service index-worker { ? vsz_limit = 2 G } service indexer-worker { ? vsz_limit = 2 G } service lmtp { ? inet_listener lmtp { ??? address = 127.0.0.1 ??? port = 24 ? } } ssl_cert = </etc/letsencrypt/live/WITHELD/fullchain.pem ssl_client_ca_dir = /etc/ssl/certs ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it userdb { ? args = /etc/dovecot/dovecot-sql.conf.ext ? driver = sql } userdb { ? driver = passwd } protocol lmtp { ? mail_plugins = " fts fts_solr virtual sieve" ? postmaster_address = WITHELD } protocol lda { ? mail_plugins = " fts fts_solr virtual sieve" } protocol imap { ? mail_max_userip_connections = 40 } - -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://dovecot.org/pipermail/dovecot/attachments/20220919/d11ecc74/attachment-0001.htm>