<!doctype html>
<html>
 <head> 
  <meta charset="UTF-8"> 
 </head>
 <body>
  <div>
   Did you remember to load fts first?
  </div>
  <div>
   <br>
  </div>
  <div>
   mail_plugins =$mail_plugins fts fts_xapian
  </div>
  <div>
   <br>
  </div>
  <div>
   Aki
  </div>
  <blockquote type="cite">
   <div>
    On 12 January 2019 at 10:37 Joan Moreau via dovecot <
    <a href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a>> wrote:
   </div>
   <div>
    <br>
   </div>
   <div>
    <br>
   </div>
   <div>
    STATUS
   </div>
   <div>
    <br>
   </div>
   <div>
    - Alpha code is written and compiling now. (attached)
   </div>
   <div>
    <br>
   </div>
   <div>
    - I would like to start testing. However, there is an error when
   </div>
   <div>
    starting dovecot (git) :
   </div>
   <div>
    <br>
   </div>
   <div>
    Error: Couldn't load required plugin
   </div>
   <div>
    /usr/lib/dovecot/lib21_fts_xapian_plugin.so: dlopen() failed:
   </div>
   <div>
    /usr/lib/dovecot/lib21_fts_xapian_plugin.so: undefined symbol:
   </div>
   <div>
    _Z30fts_backend_default_can_lookupP11fts_backendPK15mail_search_arg
   </div>
   <div>
    <br>
   </div>
   <div>
    ldd shows that fts lib is properly linked:
   </div>
   <div>
    # ldd /usr/lib/dovecot/lib21_fts_xapian_plugin.so
   </div>
   <div>
    (...)
   </div>
   <div>
    lib20_fts_plugin.so => /usr/lib/dovecot/lib20_fts_plugin.so
   </div>
   <div>
    (0x00007f25f75e0000)
   </div>
   <div>
    (...)
   </div>
   <div>
    libxapian.so.30 => /usr/lib/libxapian.so.30 (0x00007fe3a51e2000)
   </div>
   <div>
    <br>
   </div>
   <div>
    Your help very welcome
   </div>
   <div>
    <br>
   </div>
   <div>
    PENDING QUESTIONS
   </div>
   <div>
    <br>
   </div>
   <div>
    1 - WHat does represent "subargs" in mail_search_args
   </div>
   <div>
    <br>
   </div>
   <div>
    2 - for rescan : who is responsible for passing again the new email ? Is
   </div>
   <div>
    <br>
   </div>
   <div>
    the Dovecot core sending again all the emails to index ? or the fts
   </div>
   <div>
    shall somehow access the mailbox and read all emails ? Wouldn't just be
   </div>
   <div>
    saying "delete all index and get_last_uid is now 0" the easy way ? or
   </div>
   <div>
    the fts must process all emails (and block the current thread as a
   </div>
   <div>
    mailbx maybe quite large)
   </div>
   <div>
    <br>
   </div>
   <div>
    3 - for get_last_uid : this uncertainity is very unclear. "If there is a
   </div>
   <div>
    <br>
   </div>
   <div>
    gap, then indexer first indexes all the missing" -> this mean at a
   </div>
   <div>
    certain point, indexer maybe rebuilding a previous email, so *last* uid
   </div>
   <div>
    is something different than max. And how indexer does know whther there
   </div>
   <div>
    is a gap wihtout callong the fts backend (whch it does not as there are
   </div>
   <div>
    no function for that) ?
   </div>
   <div>
    <br>
   </div>
   <div>
    Thank you
   </div>
  </blockquote>
  <div>
   <br>
  </div>
  <div class="io-ox-signature">
   ---
   <br>Aki Tuomi
  </div> 
 </body>
</html>