History log of /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h
Revision Date Author Comments Expand
a220c655b1a3d923713afe8b83641c1050b44dba 24-Jan-2018 Aki Tuomi <aki.tuomi@dovecot.fi>

fts-lucene: Add and use FTS_LUCENE_USER_CONTEXT_REQUIRE Satisfies static analyzers

4f4daf7df84f450c7342de569bf25195e93d6bc7 21-Apr-2015 Timo Sirainen <tss@iki.fi>

fts-lucene: Optionally use lib-fts instead of CLucene's own analyzers. fts_lucene = use_libfts enables this.

57b523eeb99ed5d7f5002907a409cdef54353ce5 17-Apr-2014 Timo Sirainen <tss@iki.fi>

fts-lucene: Added mime_parts parameter to index MIME parts as separate documents. This is in preparation for being able to actually read such information and show it to clients via some new IMAP extension. Also it might be better to index some MIME parts together to avoid wasting disk space, but for now this is all or nothing. For example anything that is "message body" could probably be indexed without the part number at all.

f26ef7a3a562dc42a1e9a4dde546bd30df3241e8 09-Jun-2013 Timo Sirainen <tss@iki.fi>

fts-lucene: Support normalize setting also without snowball. Added no_snowball setting. Snowball seems to be converting / breaking words down rather annoyingly.

6dbe040bde3fe1181598ef2f43dff1ffad24773b 18-Sep-2012 Timo Sirainen <tss@iki.fi>

fts-lucene: Added "normalize" option to put data through user's normalizer function.

88b9f9eb91da632d3e941fe4276f8ace03205b25 15-Sep-2012 Timo Sirainen <tss@iki.fi>

fts-lucene: Added "normalize" option to put data through normalize().

2e5d624013c30633e8ded148d338ce46c321a995 04-Nov-2011 Timo Sirainen <tss@iki.fi>

fts-lucene: Added whitespace_chars subsetting to fts_lucene. A value of "@." could be useful so that user@domain.tld allows searching user, domain and tld separately instead of requiring the whole string to match.

5b6470e0e2ef4012430cdeca7d9b89c1278a0ed4 28-Aug-2011 Timo Sirainen <tss@iki.fi>

fts-lucene: If default_language changes, reindex mailbox.

c37098f8ce6d512ba41f09564d04ed25720f0a77 24-Aug-2011 Timo Sirainen <tss@iki.fi>

fts-lucene: Added default_language setting and separated stemmer/textcat support.

c8296ac1ed68ed5c5168de545b76f9b27fc76d35 09-Aug-2011 Timo Sirainen <tss@iki.fi>

fts-lucene: Added initial support for language detection and stemming. This requires textcat and snowball (libstemmer) libraries. This can be enabled by setting: fts_lucene = textcat_dir=/usr/share/libtextcat \ textcat_conf=/etc/dovecot/textcat.conf I'm not yet sure how good of an idea it is to actually use this, so it needs some testing.. For example how bad is it if language is detected incorrectly?

5666a3d6a7ea89362b8d9e8b39b15424cd9d6388 04-Dec-2009 Timo Sirainen <tss@iki.fi>

lib-storage: Plugin hook API changed to support per-user plugins within a process. --HG-- branch : HEAD

/dovecot/src/lib-storage/Makefile.am /dovecot/src/lib-storage/list/index-mailbox-list-sync.c /dovecot/src/lib-storage/list/index-mailbox-list.c /dovecot/src/lib-storage/mail-namespace.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-user.c /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib/module-dir.c /dovecot/src/lib/module-dir.h /dovecot/src/lib/strfuncs.c /dovecot/src/lib/strfuncs.h /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-plugin.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/autocreate/autocreate-plugin.c /dovecot/src/plugins/autocreate/autocreate-plugin.h /dovecot/src/plugins/convert/convert-plugin.c /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/expire/expire-plugin.h fts-lucene-plugin.c fts-lucene-plugin.h /dovecot/src/plugins/fts-solr/fts-solr-plugin.c /dovecot/src/plugins/fts-solr/fts-solr-plugin.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.c /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts/fts-plugin.c /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.c /dovecot/src/plugins/imap-acl/imap-acl-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/listescape/listescape-plugin.c /dovecot/src/plugins/listescape/listescape-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.c /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/notify/notify-plugin-private.h /dovecot/src/plugins/notify/notify-plugin.c /dovecot/src/plugins/notify/notify-plugin.h /dovecot/src/plugins/notify/notify-storage.c /dovecot/src/plugins/quota/quota-plugin.c /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/virtual/virtual-plugin.c /dovecot/src/plugins/virtual/virtual-plugin.h /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/plugins/zlib/zlib-plugin.h
811f1d28176fdc349f0b45174d228a42d893aba0 02-Nov-2007 Timo Sirainen <tss@iki.fi>

Fixed "undefined symbol" when trying to load the plugin. --HG-- branch : HEAD

c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h /dovecot/src/imap/client.h /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.h /dovecot/src/lib-storage/index/dbox/dbox-file.h /dovecot/src/lib-storage/index/dbox/dbox-index.h /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-lock.h /dovecot/src/lib-storage/index/mbox/mbox-md5.h /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.h /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/list/mailbox-list-subscriptions.h /dovecot/src/lib-storage/list/subscription-file.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib/array-decl.h /dovecot/src/lib/array.h /dovecot/src/lib/backtrace-string.h /dovecot/src/lib/base64.h /dovecot/src/lib/bsearch-insert-pos.h /dovecot/src/lib/buffer.h /dovecot/src/lib/close-keep-errno.h /dovecot/src/lib/compat.h /dovecot/src/lib/crc32.h /dovecot/src/lib/data-stack.h /dovecot/src/lib/env-util.h /dovecot/src/lib/failures.h /dovecot/src/lib/fd-close-on-exec.h /dovecot/src/lib/fd-set-nonblock.h /dovecot/src/lib/fdpass.h /dovecot/src/lib/file-cache.h /dovecot/src/lib/file-copy.h /dovecot/src/lib/file-dotlock.h /dovecot/src/lib/file-lock.h /dovecot/src/lib/file-set-size.h /dovecot/src/lib/hash.h /dovecot/src/lib/hex-binary.h /dovecot/src/lib/hex-dec.h /dovecot/src/lib/hmac-md5.h /dovecot/src/lib/home-expand.h /dovecot/src/lib/hostpid.h /dovecot/src/lib/imem.h /dovecot/src/lib/ioloop-internal.h /dovecot/src/lib/ioloop-iolist.h /dovecot/src/lib/ioloop-notify-fd.h /dovecot/src/lib/ioloop.h /dovecot/src/lib/iostream-internal.h /dovecot/src/lib/istream-internal.h /dovecot/src/lib/istream-seekable.h /dovecot/src/lib/istream-tee.h /dovecot/src/lib/istream.h /dovecot/src/lib/lib-signals.h /dovecot/src/lib/lib.h /dovecot/src/lib/macros.h /dovecot/src/lib/md4.h /dovecot/src/lib/md5.h /dovecot/src/lib/mempool.h /dovecot/src/lib/mkdir-parents.h /dovecot/src/lib/mmap-util.h /dovecot/src/lib/module-context.h /dovecot/src/lib/module-dir.h /dovecot/src/lib/mountpoint.h /dovecot/src/lib/network.h /dovecot/src/lib/nfs-workarounds.h /dovecot/src/lib/ostream-crlf.h /dovecot/src/lib/ostream-internal.h /dovecot/src/lib/ostream.h /dovecot/src/lib/primes.h /dovecot/src/lib/printf-format-fix.h /dovecot/src/lib/process-title.h /dovecot/src/lib/randgen.h /dovecot/src/lib/read-full.h /dovecot/src/lib/restrict-access.h /dovecot/src/lib/restrict-process-size.h /dovecot/src/lib/safe-memset.h /dovecot/src/lib/safe-mkdir.h /dovecot/src/lib/safe-mkstemp.h /dovecot/src/lib/sendfile-util.h /dovecot/src/lib/seq-range-array.h /dovecot/src/lib/sha1.h /dovecot/src/lib/str-find.h /dovecot/src/lib/str-sanitize.h /dovecot/src/lib/str.h /dovecot/src/lib/strescape.h /dovecot/src/lib/strfuncs.h /dovecot/src/lib/unichar.h /dovecot/src/lib/unix-socket-create.h /dovecot/src/lib/unlink-directory.h /dovecot/src/lib/unlink-lockfiles.h /dovecot/src/lib/utc-mktime.h /dovecot/src/lib/utc-offset.h /dovecot/src/lib/var-expand.h /dovecot/src/lib/write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h fts-lucene-plugin.h lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
8e371a3ce32bd64288786855b8ce0cb63f19f7d1 29-Mar-2007 Timo Sirainen <tss@iki.fi>

Better type safety to module_contexts arrays. Already fixed some bugs. --HG-- branch : HEAD

/dovecot/src/imap/imap-thread.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-transaction.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-transaction.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-transaction.c /dovecot/src/lib-storage/list/index-mailbox-list-sync.c /dovecot/src/lib-storage/list/index-mailbox-list.c /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib/Makefile.am /dovecot/src/lib/module-context.h /dovecot/src/plugins/acl/Makefile.am /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/acl/acl-mailbox.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/acl/acl-storage.c /dovecot/src/plugins/expire/expire-plugin.c Makefile.am fts-backend-lucene.c fts-lucene-plugin.c fts-lucene-plugin.h /dovecot/src/plugins/fts-squat/Makefile.am /dovecot/src/plugins/fts/Makefile.am /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/mail-log/mail-log-plugin.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/Makefile.am /dovecot/src/plugins/zlib/zlib-plugin.c
6380f2bc729a03b328793e8ad6ba7587620fa184 25-Oct-2006 Timo Sirainen <tss@iki.fi>

Create only a single index into INBOX's index dir. Did several fixes. However still a bit buggy. --HG-- branch : HEAD

57f4445a46726a17bfe78b0964dd301a6ccb40ec 18-Sep-2006 Timo Sirainen <tss@iki.fi>

--with-lucene now enables lucene full text search indexing. Note that using it breaks IMAP RFC. It also seems to have problems finding texts that have special characters in them, such as email addresses. You can anyway enable it by loading fts and fts_lucene plugins and setting fts=lucene in plugin section. --HG-- branch : HEAD