I have this in my dovecot.conf already, yes :

protocol imap {
    mail_plugins = $mail_plugins quota imap_quota imap_sieve fts fts_solr
    mail_max_userip_connections = 20
    imap_idle_notify_interval = 24 mins
}

protocol lmtp {
    postmaster_address = postmaster@xxx.com
    mail_plugins = $mail_plugins sieve fts fts_solr
}
-------------------------------------------------------------------------------------------------------------------
This is doveconf -n :
# 2.3.5.1 (7ec6d0ade): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.5 (2483b085)
# OS: Linux 3.10.0-957.10.1.el7.x86_64 x86_64 CentOS Linux release 7.6.1810 (Core)
# Hostname: xxx.xxx.com
auth_mechanisms = plain login
auth_verbose = yes
listen = *
mail_gid = vmail
mail_home = /var/vmail/mailboxes/%d/%n
mail_location = maildir:~/mail:LAYOUT=fs
mail_privileged_group = vmail
mail_uid = vmail
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 imapsieve vnd.dovecot.imapsieve
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Spam {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix =
  separator = .
  type = private
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  fts = solr
  fts_autoindex = yes
  fts_solr = url=http://localhost:8988/solr/dovecot/ debug
  imapsieve_mailbox1_before = file:/var/vmail/sieve/global/learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox2_before = file:/var/vmail/sieve/global/learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_name = *
  quota = maildir:User quota
  quota_exceeded_message = User %u has exhausted allowed storage space.
  sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve
  sieve_before = /var/vmail/sieve/global/spam-global.sieve
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/bin
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap lmtp sieve
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
  user = vmail
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
ssl = required
ssl_ca = </etc/ssl/certs/ca-bundle.crt
ssl_cert = </etc/ssl/certs/xxx.com_chain.crt
ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!TLSv1.0:!EXP:!aNULL:!MEDIUM:!CAMELLIA:@STRENGTH
ssl_client_ca_dir = /etc/ssl/certs
ssl_client_ca_file = /etc/ssl/certs/ca-bundle.crt
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = yes
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol imap {
  imap_idle_notify_interval = 24 mins
  mail_max_userip_connections = 20
  mail_plugins = " quota imap_quota imap_sieve fts fts_solr"
}
protocol lmtp {
  mail_plugins = " sieve fts fts_solr"
  postmaster_address = postmaster@xxx.com
}




On 14/04/2019 22:30, Aki Tuomi via dovecot wrote:

On 14 April 2019 23:22 TG Servers via dovecot <dovecot@dovecot.org> wrote:


Hi,

I have setup dovecot 2.3.5.1 with solr 7.7.1
Everything seems to be working so far except that solr doesn't index a single message.
Solr is running, the web api can be accessed, I see the dovecot core there, but with zero docs.

If I trigger a "body" search from Thunderbird solr is responding and searching, but hitting 0 of course.

Looks like that : 2019-04-14 19:57:42.789 INFO  (qtp898557489-40) [   x:dovecot] o.a.s.c.S.Request [dovecot]  webapp=/solr path=/select params={q={!lucene+q.op%3DAND}body:foobar&fl=uid,score&sort=uid+asc&fq=%2Bbox:925efe067ac8a35ce1430000828c97da+%2Buser:xxx@xxx.net&rows=2&wt=xml} hits=0 status=0 QTime=2

Everytime a new message comes in indexer-worker is working but indexing 0.

Looks like that : 2019-04-14T19:39:36.887817+02:00 riot dovecot: indexer-worker(xxx@xxx.net)<31697><3pDsLlhws1zMewAAgoyX2g:vb2mNFhws1zRewAAgoyX2g>: Indexed 0 messages in INBOX

A "doveadm fts rescan" just brings up this message : "Fatal: Unknown command 'fts', but plugin fts exists. Try to set mail_plugins=fts"

Have you tried to add

mail_plugins = $mail_plugins fts fts_solr to config
My dovecot settings are :
plugin {
    sieve_plugins = sieve_imapsieve sieve_extprograms
    sieve_before = /var/vmail/sieve/global/spam-global.sieve
    sieve = file:/var/vmail/sieve/%d/%n/scripts;active=/var/vmail/sieve/%d/%n/active-script.sieve

    ###
    ### Spam learning
    ...
   
    sieve_pipe_bin_dir = /usr/bin
    sieve_global_extensions = +vnd.dovecot.pipe

    fts = solr
    fts_autoindex = yes
    fts_solr = url=http://localhost:8988/solr/dovecot/ debug

    ...
}

I don't know what to do or what I am doing wrong because solr is responding as said. Also the data directory of the core is empty.
If I should provide more information please tell me which, it's my own server so I have access to everything

Can anyone please help with that??

Thanks.



If the suggested change does not help, send doveconf -n
---
Aki Tuomi