<!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>