Does fts_lucene need fts_squat?
Marcin Mirosław
marcin at mejor.pl
Thu Oct 1 10:12:02 UTC 2015
Hi ML!
Please look at this:
- I've got no lucene-index:
> # ls /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes
> ls: cannot access /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes: No such file or directory
- run search in body:
> echo -e "a select bugzilla\na search body flto\na logout\n" | /usr/libexec/dovecot/imap -u marcin at mejor.pl
> * PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SEARCH=FUZZY NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in as marcin at mejor.pl
> * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Old $label1 $label2 $label3 $label4 $label5 ae_autoextract)
> * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Old $label1 $label2 $label3 $label4 $label5 ae_autoextract \*)] Flags permitted.
> * 5311 EXISTS
> * 0 RECENT
> * OK [UNSEEN 4910] First unseen.
> * OK [UIDVALIDITY 1246465819] UIDs valid
> * OK [UIDNEXT 17871] Predicted next UID
> * OK [HIGHESTMODSEQ 16914] Highest
> a OK [READ-WRITE] Select completed (0.005 secs).
> * SEARCH 366 380 2132 2515 2548 2551 2566 2567 2589 2612 2615 2617 3678 3696 4538
> a OK Search completed (2.768 secs).
> * BYE Logging out
> a OK Logout completed.
> imap(marcin at mejor.pl) <>: Info: Disconnected: Logged out in=45 out=1084
- still doesn't have lucene indexes:
> # ls /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes
> ls: cannot access /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes: No such file or directory
# doveadm index -A "*"
# ls /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes
ls: cannot access
/dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes: No such file
or directory
Now I'm changin 10-mail.conf:
-mail_plugins = fts fts_lucene quota notify mail_log stats zlib
+mail_plugins = fts fts_squat fts_lucene quota notify mail_log stats zlib
Reloading dovecot and:
- # doveadm index -A "*"
- # ls /dane/domeny/mejor.pl/mail/marcin/.maildir/lucene-indexes
_0.cfs segments_3 segments.gen
Now something appears. But search returns no hit:
> # echo -e "a select bugzilla\na search body flto\na logout\n" | /usr/libexec/dovecot/imap -u marcin at mejor.pl
> * PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SEARCH=FUZZY NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in as marcin at mejor.pl
> * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Old $label1 $label2 $label3 $label4 $label5 ae_autoextract)
> * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk Old $label1 $label2 $label3 $label4 $label5 ae_autoextract \*)] Flags permitted.
> * 5311 EXISTS
> * 0 RECENT
> * OK [UNSEEN 4910] First unseen.
> * OK [UIDVALIDITY 1246465819] UIDs valid
> * OK [UIDNEXT 17871] Predicted next UID
> * OK [HIGHESTMODSEQ 16914] Highest
> a OK [READ-WRITE] Select completed (0.008 secs).
> * SEARCH
> a OK Search completed (0.004 secs).
> * BYE Logging out
> a OK Logout completed.
> imap(marcin at mejor.pl) <>: Info: Disconnected: Logged out in=45 out=1011
Also probably I mess something in index files. I've added fts_lucene
earlier, then removed /lucene-indexes dir. Tried to do doveadm index,
(does doeveadm fts rescan/optimize work? I didn't notice that mentioned
commands do something with fts indexes (both squat and lucene).
Marcin
> # 2.2.18: /etc/dovecot/dovecot.conf
> # Pigeonhole version 0.4.8 (0c4ae064f307+)
> # OS: Linux 4.1.6-hardened x86_64 Gentoo Base System release 2.2
> auth_cache_size = 1 k
> auth_master_user_separator = *
> auth_mechanisms = login digest-md5 cram-md5 plain
> deliver_log_format = msgid=%m: from=%f: phys=%p: virt=%w %$
> dict {
> quota = pgsql:/etc/dovecot/dovecot-dict-sql.conf.ext
> }
> first_valid_uid = 8
> last_valid_uid = 8
> lda_mailbox_autocreate = yes
> lda_mailbox_autosubscribe = yes
> mail_attachment_dir = /dane/domeny/zalaczniki
> mail_attachment_min_size = 10000 k
> mail_cache_min_mail_count = 20
> mail_gid = mail
> mail_log_prefix = "%s(%u) <%{session}>: "
> mail_plugins = fts fts_squat fts_lucene quota notify mail_log stats zlib
> mail_prefetch_count = 20
> mail_privileged_group = mail
> mail_uid = mail
> mailbox_list_index = yes
> maildir_stat_dirs = yes
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include vari
> ables body enotify environment mailbox date index ihave duplicate
> mdbox_preallocate_space = yes
> mdbox_rotate_interval = 60 days
> mdbox_rotate_size = 50 M
> namespace inbox {
> inbox = yes
> list = yes
> location =
> mailbox Drafts {
> auto = subscribe
> special_use = \Drafts
> }
> mailbox Junk {
> auto = subscribe
> special_use = \Junk
> }
> mailbox Sent {
> auto = subscribe
> special_use = \Sent
> }
> mailbox "Sent Messages" {
> special_use = \Sent
> }
> mailbox Trash {
> auto = subscribe
> special_use = \Trash
> }
> prefix =
> separator = .
> subscriptions = yes
> }
> passdb {
> args = /etc/dovecot/.master.user
> driver = passwd-file
> master = yes
> pass = yes
> }
> passdb {
> args = /etc/dovecot/dovecot-sql.conf.ext
> driver = sql
> }
> plugin {
> fts = lucene
> fts_lucene = whitespace_chars=@.
> fts_squat = partial=4 full=10
> quota = dict:User quota::proxy::quota
> sieve = file:~/sieve;active=~/.dovecot.sieve
> stats_command_min_time = 1 mins
> stats_domain_min_time = 12 hours
> stats_ip_min_time = 12 hours
> stats_memory_limit = 10k
> stats_refresh = 30 s
> stats_session_min_time = 15 mins
> stats_track_cmds = yes
> stats_user_min_time = 1 hours
> zlib_save = bz2
> zlib_save_level = 2
> }
> postmaster_address = postmaster at mejor.pl
> protocols = imap pop3 sieve
> service auth {
> unix_listener auth-userdb {
> group = mail
> mode = 0660
> user = root
> }
> }
> service dict {
> unix_listener dict {
> user = mail
> }
> }
> service stats {
> fifo_listener stats-mail {
> mode = 0600
> user = mail
> }
> }
> ssl_cert = </etc/ssl/private/gwiazdka.mejor.pl.pem
> ssl_key = </etc/ssl/private/gwiazdka.mejor.pl.pem
> userdb {
> driver = prefetch
> }
> userdb {
> args = /etc/dovecot/dovecot-sql.conf.ext
> driver = sql
> }
> verbose_proctitle = yes
> protocol lda {
> mail_plugins = fts fts_squat fts_lucene quota notify mail_log stats zlib sieve
> }
> protocol imap {
> mail_max_userip_connections = 20
> mail_plugins = fts fts_squat fts_lucene quota notify mail_log stats zlib imap_quota imap_stats imap_zlib
> }
More information about the dovecot
mailing list