Re: fts_solr not working

2016-06-26 Thread Aki Tuomi


On 26.06.2016 21:56, Jeff Gamsby wrote:
> On 2016-06-23 11:24, aki.tu...@dovecot.fi wrote:
>>> On June 23, 2016 at 9:06 PM Jeff Gamsby  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 u...@user.com inbox
>>> doveadm(u...@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(u...@user.com): Debug: Added userdb setting:
>>> mail=maildir:/var/vmail/user.com/user/Maildir
>>> doveadm(u...@user.com): Debug: Added userdb setting:
>>> plugin/quota_rule=*:storage=0B
>>> doveadm(u...@user.com): Debug: Added userdb setting:
>>> plugin/sieve=/var/vmail/user.com/user/.sieve
>>> doveadm(u...@user.com): Debug: Effective uid=5000, gid=5000,
>>> home=/var/vmail/user.com/user
>>> doveadm(u...@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(u...@user.com): Debug: maildir++:
>>> root=/var/vmail/user.com/user/Maildir, index=, control=,
>>> inbox=/var/vmail/user.com/user/Maildir, alt=
>>> doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled
>>> doveadm(u...@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" valu

Re: fts_solr not working

2016-06-26 Thread Jeff Gamsby

On 2016-06-23 11:24, aki.tu...@dovecot.fi wrote:
On June 23, 2016 at 9:06 PM Jeff Gamsby  
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 u...@user.com inbox
doveadm(u...@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(u...@user.com): Debug: Added userdb setting:
mail=maildir:/var/vmail/user.com/user/Maildir
doveadm(u...@user.com): Debug: Added userdb setting:
plugin/quota_rule=*:storage=0B
doveadm(u...@user.com): Debug: Added userdb setting:
plugin/sieve=/var/vmail/user.com/user/.sieve
doveadm(u...@user.com): Debug: Effective uid=5000, gid=5000,
home=/var/vmail/user.com/user
doveadm(u...@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(u...@user.com): Debug: maildir++:
root=/var/vmail/user.com/user/Maildir, index=, control=,
inbox=/var/vmail/user.com/user/Maildir, alt=
doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled
doveadm(u...@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

Re: fts_solr not working

2016-06-23 Thread Zhang Huangbin

> On Jun 24, 2016, at 2:06 AM, Jeff Gamsby  wrote:
> 
> 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/
>  }

Don't place `plugin {}` setting in other config block.

It should be:

protocol imap {...}
protocol pop3 {...}
plugin {
...
}


Zhang Huangbin, founder of iRedMail project: http://www.iredmail.org/
Time zone: GMT+8 (China/Beijing).


Re: fts_solr not working

2016-06-23 Thread Zhang Huangbin

> On Jun 24, 2016, at 2:06 AM, Jeff Gamsby  wrote:
> 
> doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled

Isn't it very clear here?


Zhang Huangbin, founder of iRedMail project: http://www.iredmail.org/
Time zone: GMT+8 (China/Beijing).


Re: fts_solr not working

2016-06-23 Thread aki . tuomi

> On June 23, 2016 at 9:06 PM Jeff Gamsby  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 u...@user.com inbox
> doveadm(u...@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(u...@user.com): Debug: Added userdb setting: 
> mail=maildir:/var/vmail/user.com/user/Maildir
> doveadm(u...@user.com): Debug: Added userdb setting: 
> plugin/quota_rule=*:storage=0B
> doveadm(u...@user.com): Debug: Added userdb setting: 
> plugin/sieve=/var/vmail/user.com/user/.sieve
> doveadm(u...@user.com): Debug: Effective uid=5000, gid=5000, 
> home=/var/vmail/user.com/user
> doveadm(u...@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(u...@user.com): Debug: maildir++: 
> root=/var/vmail/user.com/user/Maildir, index=, control=, 
> inbox=/var/vmail/user.com/user/Maildir, alt=
> doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled
> doveadm(u...@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.co

fts_solr not working

2016-06-23 Thread Jeff Gamsby
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 u...@user.com inbox
doveadm(u...@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(u...@user.com): Debug: Added userdb setting: 
mail=maildir:/var/vmail/user.com/user/Maildir
doveadm(u...@user.com): Debug: Added userdb setting: 
plugin/quota_rule=*:storage=0B
doveadm(u...@user.com): Debug: Added userdb setting: 
plugin/sieve=/var/vmail/user.com/user/.sieve
doveadm(u...@user.com): Debug: Effective uid=5000, gid=5000, 
home=/var/vmail/user.com/user
doveadm(u...@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(u...@user.com): Debug: maildir++: 
root=/var/vmail/user.com/user/Maildir, index=, control=, 
inbox=/var/vmail/user.com/user/Maildir, alt=

doveadm(u...@user.com): Debug: fts: No fts setting - plugin disabled
doveadm(u...@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