]> git.ipfire.org Git - thirdparty/dovecot/core.git/commit
fts: Redesigned/enhanced FTS API and how virtual plugin works with it.
authorTimo Sirainen <tss@iki.fi>
Fri, 22 Jul 2011 10:21:59 +0000 (13:21 +0300)
committerTimo Sirainen <tss@iki.fi>
Fri, 22 Jul 2011 10:21:59 +0000 (13:21 +0300)
commit8d587838c414c48a331f0b54cd7ffd97e5024abd
tree409b8398ee5dc6968b2ece7724e0ede612aa89d5
parent88311240b8db117b120171a861a64e399dab57af
fts: Redesigned/enhanced FTS API and how virtual plugin works with it.
The changes include:

 - Only indexer process and "doveadm index" do FTS indexing now. Other
processes connect to the indexer process via UNIX socket and request
indexing a specific mailbox.

 - FTS backends can now index/search any search key. Current backends
implement indexing for some specific header fields (Subject, From, To, Cc,
Bcc), but it would also be possible to add indexing for e.g. message size
or date.

 - CLucene support is fixed and fully functional.

 - Solr is split to "solr" and "solr_old" backends. The new "solr" backend
supports the new header fields. It also uses mailbox GUIDs as mailbox
identifiers, so that renaming a mailbox doesn't require reindexing.
The "solr_old" uses the old Solr schema and doesn't support any new features.
37 files changed:
configure.in
doc/solr-schema.xml
src/plugins/fts-lucene/fts-backend-lucene.c
src/plugins/fts-lucene/lucene-wrapper.cc
src/plugins/fts-lucene/lucene-wrapper.h
src/plugins/fts-solr/Makefile.am
src/plugins/fts-solr/fts-backend-solr-old.c [new file with mode: 0644]
src/plugins/fts-solr/fts-backend-solr.c
src/plugins/fts-solr/fts-solr-plugin.c
src/plugins/fts-solr/fts-solr-plugin.h
src/plugins/fts-solr/solr-connection.c
src/plugins/fts-solr/solr-connection.h
src/plugins/fts-squat/fts-backend-squat.c
src/plugins/fts-squat/squat-test.c
src/plugins/fts-squat/squat-trie.c
src/plugins/fts-squat/squat-trie.h
src/plugins/fts/Makefile.am
src/plugins/fts/fts-api-private.h
src/plugins/fts/fts-api.c
src/plugins/fts/fts-api.h
src/plugins/fts/fts-build-indexer.c [new file with mode: 0644]
src/plugins/fts/fts-build-mailbox.c [new file with mode: 0644]
src/plugins/fts/fts-build-private.h [new file with mode: 0644]
src/plugins/fts/fts-build-virtual.c [new file with mode: 0644]
src/plugins/fts/fts-build.c [new file with mode: 0644]
src/plugins/fts/fts-build.h [new file with mode: 0644]
src/plugins/fts/fts-mailbox.c [deleted file]
src/plugins/fts/fts-mailbox.h [deleted file]
src/plugins/fts/fts-plugin.c
src/plugins/fts/fts-plugin.h
src/plugins/fts/fts-search-serialize.c [new file with mode: 0644]
src/plugins/fts/fts-search-serialize.h [new file with mode: 0644]
src/plugins/fts/fts-search.c
src/plugins/fts/fts-storage.c
src/plugins/fts/fts-storage.h
src/plugins/virtual/virtual-storage.c
src/plugins/virtual/virtual-storage.h