fts_solr not working

aki.tuomi at dovecot.fi aki.tuomi at dovecot.fi
Thu Jun 23 18:24:55 UTC 2016


> On June 23, 2016 at 9:06 PM Jeff Gamsby <jeffgamsby at merlock.com> wrote:
> 
> 
> I am running ISPConfig 3 on Debian and have managed to install the 
> dovecot-solr and dovecot-fts plugins.
> 
> I have solr running undet tomcat at http://localhost:8880 but the 
> indexing is not working.
> 
> I am using Dovecot 2.17
> 
> I do not understand namespaces and why fts_solr needs them, I just want 
> to index the entire users Maildir.
> 
> I am trying to index a users mailbox but am getting the following error:
> 
> (changed user name)
> doveadm fts rescan -u user at user.com inbox
> doveadm(user at user.com): Error: Namespace prefix not found: inbox
> 
> running that in debig mode gives:
> 
> doveadm(root): Debug: Loading modules from directory: 
> /usr/lib/dovecot/modules
> doveadm(root): Debug: Module loaded: 
> /usr/lib/dovecot/modules/lib20_fts_plugin.so
> doveadm(root): Debug: Module loaded: 
> /usr/lib/dovecot/modules/lib21_fts_solr_plugin.so
> doveadm(root): Debug: Loading modules from directory: 
> /usr/lib/dovecot/modules/doveadm
> doveadm(root): Debug: Skipping module doveadm_acl_plugin, because 
> dlopen() failed: 
> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_acl_plugin.so: undefined 
> symbol: acl_user_module (this is usually intentional, so just ignore 
> this message)
> doveadm(root): Debug: Skipping module doveadm_expire_plugin, because 
> dlopen() failed: 
> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_expire_plugin.so: 
> undefined symbol: expire_set_deinit (this is usually intentional, so 
> just ignore this message)
> doveadm(root): Debug: Skipping module doveadm_quota_plugin, because 
> dlopen() failed: 
> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_quota_plugin.so: 
> undefined symbol: quota_user_module (this is usually intentional, so 
> just ignore this message)
> doveadm(root): Debug: Skipping module doveadm_zlib_plugin, because 
> dlopen() failed: 
> /usr/lib/dovecot/modules/doveadm/lib10_doveadm_zlib_plugin.so: undefined 
> symbol: i_stream_create_deflate (this is usually intentional, so just 
> ignore this message)
> doveadm(root): Debug: Module loaded: 
> /usr/lib/dovecot/modules/doveadm/lib20_doveadm_fts_plugin.so
> doveadm(user at user.com): Debug: Added userdb setting: 
> mail=maildir:/var/vmail/user.com/user/Maildir
> doveadm(user at user.com): Debug: Added userdb setting: 
> plugin/quota_rule=*:storage=0B
> doveadm(user at user.com): Debug: Added userdb setting: 
> plugin/sieve=/var/vmail/user.com/user/.sieve
> doveadm(user at user.com): Debug: Effective uid=5000, gid=5000, 
> home=/var/vmail/user.com/user
> doveadm(user at user.com): Debug: Namespace inbox: type=private, prefix=, 
> sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes 
> location=maildir:/var/vmail/user.com/user/Maildir
> doveadm(user at user.com): Debug: maildir++: 
> root=/var/vmail/user.com/user/Maildir, index=, control=, 
> inbox=/var/vmail/user.com/user/Maildir, alt=
> doveadm(user at user.com): Debug: fts: No fts setting - plugin disabled
> doveadm(user at user.com): Error: Namespace prefix not found: inbox
> 
> in conf.d/10-mail.conf I have this namespace defined:
> 
> namespace inbox {
>    # Namespace type: private, shared or public
>    #type = private
> 
>    # Hierarchy separator to use. You should use the same separator for 
> all
>    # namespaces or some clients get confused. '/' is usually a good one.
>    # The default however depends on the underlying mail storage format.
>    #separator =
> 
>    # Prefix required to access this namespace. This needs to be different 
> for
>    # all namespaces. For example "Public/".
>    #prefix =
> 
>    # Physical location of the mailbox. This is in same format as
>    # mail_location, which is also the default for it.
>    #location =
> 
>    # There can be only one INBOX, and this setting defines which 
> namespace
>    # has it.
>    inbox = yes
> 
>    # If namespace is hidden, it's not advertised to clients via NAMESPACE
>    # extension. You'll most likely also want to set list=no. This is 
> mostly
>    # useful when converting from another server with different namespaces 
> which
>    # you want to deprecate but still keep working. For example you can 
> create
>    # hidden namespaces with prefixes "~/mail/", "~%u/mail/" and "mail/".
>    #hidden = no
> protocol imap {
>    plugin {
>      fts = solr
>      fts_solr = break-imap-search url=http://localhost:8880/solr/
>    }
> }
> protocol pop3 {
>    plugin {
>      fts = solr
>      fts_solr = break-imap-search url=http://localhost:8880/solr/
>    }
> 
>    # Show the mailboxes under this namespace with LIST command. This 
> makes the
>    # namespace visible for clients that don't support NAMESPACE 
> extension.
>    # "children" value lists child mailboxes, but hides the namespace 
> prefix.
>    #list = yes
> 
>    # Namespace handles its own subscriptions. If set to "no", the parent
>    # namespace handles them (empty prefix should always have this as 
> "yes")
>    #subscriptions = yes
> }
> 
> 
> I had to put this in dovecot.conf in order for the plugin to be enabled:
> 
> mail_plugins = fts fts_solr
> 
> solr is reachable at localhost:8880/solr and appears to be working.
> 
> Please help, any suggestions are welcome
> 
> Thanks

Can you please send doveconf -n?
---
Aki Tuomi


More information about the dovecot mailing list