Hi all,
I have recently worked on fts plugin for ElasticSearch.
https://github.com/filiphanes/fts-elastic
It is forked from fts-elasticsearch as you can see in PR https://github.com/atkinsj/fts-elasticsearch/pull/21
with following changes (maybe some more)
  • no duplicate json keys in indexed documents, so compatible with ES 7.x
  • 1 elastic index for all users with routing by username
  • _id field similar to fts-solr (uid/box_guid/user)
  • better json response parsing
  • no need to use _source
  • added rawlog_dir to config and some more
  • renamed all elasticsearch to elastic for shorter names
  • fixed http_client leaks
  • fixed some compile warnings
I would appreciate if someone with better experience in c and dovecot code would review my code and suggest/push changes.

In my opinion fts-elastic is now functionally on level as currently recommended FTS plugin: fts-solr.
I would like to implement proper rescan inspired by fts-lucene so it would become the most complete fts plugin for dovecot.
--
Filip Hanes