Re: Solr -> Xapian ?

2019-01-22 Thread Joan Moreau via dovecot
st UID. (Supporting out-of-order indexing would be rather difficult to keep track of.) Q2 : WHen Indexing an email, the data is not passed by "build_key". Why so ? What is the link with "build_more" ? The idea is that it calls something like: - build_key(type=hdr, hdr_name=From) -

Re: Solr -> Xapian ?

2019-01-13 Thread Timo Sirainen
On 13 Jan 2019, at 10.45, Joan Moreau via dovecot wrote: > > Now, I can see in the logs that several times, the dovecot calls the > fts_backend_xapian_update_set_mailbox with box == NULL. WHy so ? > fts-api.h says: /* Switch to updating the specified mailbox. box may also be set to NULL to

Re: Solr -> Xapian ?

2019-01-13 Thread Joan Moreau via dovecot
because fts_squat is set to be deleted Xapian and similar libraries offers a very easy interface for FTS (and basically, I have done it already) On 2019-01-07 18:31, Michael Slusarz wrote: Maybe a dumb question (I admit I haven't followed this thread very closely)... But why are you writi

Re: Solr -> Xapian ?

2019-01-13 Thread Joan Moreau via dovecot
I found the solution o this using SEQ_RANGE_ARRAY_ADD(&RESULT->DEFINITE_UIDS, UID); Now, I can see in the logs that several times, the dovecot calls the fts_backend_xapian_update_set_mailbox with box == NULL. WHy so ? THank you On 2019-01-12 21:40, Joan Moreau via dovecot wrote: I somehow

Re: Solr -> Xapian ?

2019-01-12 Thread Joan Moreau via dovecot
I somehow fixed the folder issue. (seems some unix rights after too many tests) Getting back on the "fts_results" structure: I am trying: I_ARRAY_INIT(&(RESULT->DEFINITE_UIDS),R->SIZE); I_ARRAY_INIT(&(RESULT->MAYBE_UIDS),0); uint32_t uid; for(i=0;isize;i++) { try { uid=atol(back

Re: Solr -> Xapian ?

2019-01-12 Thread Joan Moreau via dovecot
additionally, my logic is that the backend stores one databalse per mailox in /xapian-indexes (in the "root" dir of the user), the name od the database is the GUID of the mailbox For INBOX, that works perfectly, and database is properly createdm and backed starts indexing all emails For othe

Re: Solr -> Xapian ?

2019-01-12 Thread Joan Moreau via dovecot
THank you Now, for the results I see the member of fts_result is : ARRAY_TYPE(seq_range) definite_uids; I have the UID as a aray of uint32_t * How to put my UIDs into this "definite_uids" ? Obviously this is not a simple array/pointer. How to say someting similar to result->definite_uids

Re: Solr -> Xapian ?

2019-01-12 Thread Timo Sirainen
On 11 Jan 2019, at 21.23, Joan Moreau via dovecot wrote: > > The below patch resolves the compilation error > > $ diff -p compat.h compat.h.joan > *** compat.h 2019-01-11 20:21:00.726625427 +0100 > --- compat.h.joan 2019-01-11 20:14:41.729109919 +0100 > *** struct iovec; > *** 202,2

Re: Solr -> Xapian ?

2019-01-11 Thread fauno
El 04/01/19 a las 03:20, Joan Moreau via dovecot escribió: > What about consedering linking Dovecot with Xapian librairies instead of > going to nightmare Solr ? > https://xapian.org/features given that notmuch already does a good job at indexing email (although only supports maildirs afaik), woul

Re: Solr -> Xapian ?

2019-01-11 Thread Joan Moreau via dovecot
first indexes all the missing mails. So the latest UID is supposed to be the greatest UID. (Supporting out-of-order indexing would be rather difficult to keep track of.) Q2 : WHen Indexing an email, the data is not passed by "build_key". Why so ? What is the link with "build_

Re: Solr -> Xapian ?

2019-01-11 Thread Joan Moreau via dovecot
The idea is that it calls something like: - build_key(type=hdr, hdr_name=From) - build_more(" t...@iki.fi") - build_key(type=hdr, hdr_name=Subject) - build_more("Re: Solr -> Xapian ?") - build_key(type=body_part) - build_more("message body piece") - build_more(&q

Re: Solr -> Xapian ?

2019-01-11 Thread Aki Tuomi
so ? What is the link with "build_more" ? The idea is that it calls something like: - build_key(type=hdr, hdr_name=From) - build_more(" t...@iki.fi") - build_key(type=hdr, hdr_name=Subject)

Re: Solr -> Xapian ?

2019-01-11 Thread Joan Moreau via dovecot
e rather difficult to keep track of.) Q2 : WHen Indexing an email, the data is not passed by "build_key". Why so ? What is the link with "build_more" ? The idea is that it calls something like: - build_key(type=hdr, hdr_name=From) - build_more("t...@iki.fi") -

Re: Solr -> Xapian ?

2019-01-11 Thread Joan Moreau via dovecot
idea is that it calls something like: - build_key(type=hdr, hdr_name=From) - build_more("t...@iki.fi") - build_key(type=hdr, hdr_name=Subject) - build_more("Re: Solr -> Xapian ?") - build_key(type=body_part) - build_more("message body piece") - build_more("messa

Re: Solr -> Xapian ?

2019-01-09 Thread Joan Moreau via dovecot
2 : WHen Indexing an email, the data is not passed by "build_key". Why so ? What is the link with "build_more" ? The idea is that it calls something like: - build_key(type=hdr, hdr_name=From) - build_more("t...@iki.fi") - build_key(type=hdr, hdr_name=Subjec

Re: Solr -> Xapian ?

2019-01-07 Thread Timo Sirainen
name=From) - build_more("t...@iki.fi") - build_key(type=hdr, hdr_name=Subject) - build_more("Re: Solr -> Xapian ?") - build_key(type=body_part) - build_more("message body piece") - build_more("message body piece2") ... > Q3 : Searching/Lookup : TH

Re: Solr -> Xapian ?

2019-01-07 Thread Michael Slusarz
Maybe a dumb question (I admit I haven't followed this thread very closely)... But why are you writing a new FTS driver? If squat allegedly does everything you need it to do, why don't you just take that plugin and fix it up to do what you need? That seems way easier than trying to create a FT

Re: Solr -> Xapian ?

2019-01-07 Thread Joan Moreau via dovecot
Hi ANyone to answer specifically ? Q1 : get_last_uid -> Is this the last UID indexed (which may be not the greatest value), or the gratest value (which may not be the latest) (the code of existing plugins is unclear about this, Solr looks for the greatest for insance) Q2 : WHen Indexing an

Re: Solr -> Xapian ?

2019-01-06 Thread Joan Moreau via dovecot
and finally , for fts_backend__lookup_multi, why is that backend dependent ? Would- nt the below function below be the same for any backend ? Waiting fro your feedback on all those questions Thank you JM - static int fts_backend_xapian_lookup_multi(struct fts_backe

Re: Solr -> Xapian ?

2019-01-06 Thread Joan Moreau via dovecot
for fts_backend_xxx_lookup, where is specidifed in which field (to, cc, subject, body, from, all) to lookup ? On 2019-01-06 16:03, Joan Moreau wrote: For "rescan " and "optimize", wouldn't it be the dovecot core who indicate which are to be dismissed (expunged), or re-ask for indexing a particul

Re: Solr -> Xapian ?

2019-01-06 Thread Joan Moreau via dovecot
For "rescan " and "optimize", wouldn't it be the dovecot core who indicate which are to be dismissed (expunged), or re-ask for indexing a particular (or all) uid ? WHy would the backend be aware of the transactions on the mailbox ??? There is alredy "fts_backend_xxx_update_expunge", so I beleiv

Re: Solr -> Xapian ?

2019-01-05 Thread Joan Moreau via dovecot
also, for fts_backend_solr_update_set_build_key -> where is the data (of the hdr_name or the body) ? On 2019-01-06 14:10, Joan Moreau wrote: for the "last uid"-> this is not the last added, but the maximum of the UID in the indexed emails, right ? On 2019-01-06 11:53, Joan Moreau via dovecot

Re: Solr -> Xapian ?

2019-01-05 Thread Joan Moreau via dovecot
for the "last uid"-> this is not the last added, but the maximum of the UID in the indexed emails, right ? On 2019-01-06 11:53, Joan Moreau via dovecot wrote: Thank you I still don't get the "build_key" function. The email (body, hearders, .. and the uid) is the one (and only) to index . Wha

Re: Solr -> Xapian ?

2019-01-05 Thread Joan Moreau via dovecot
Thank you I still don't get the "build_key" function. The email (body, hearders, .. and the uid) is the one (and only) to index . What "key" is that function referring to ? Or is the "key" here the actual email ? On 2019-01-06 08:43, Stephan Bosch wrote: Op 06/01/2019 om 01:00 schreef Joan M

Re: Solr -> Xapian ?

2019-01-05 Thread Stephan Bosch
Op 06/01/2019 om 01:00 schreef Joan Moreau: Anyone willing to explain those functions ? Most notably " get_last_uid" From src/plugins/fts/fts-api.h: /* Get the last_uid for the mailbox. */ int fts_backend_get_last_uid(struct fts_backend *backend, struct mailbox *box,             uint

Re: Solr -> Xapian ?

2019-01-05 Thread Joan Moreau via dovecot
Anyone willing to explain those functions ? Most notably " get_last_uid" "set_build_key" "build_more" , what is refresh versus rescan ? On January 5, 2019 14:23:10 Joan Moreau via dovecot wrote: Thank Stephan I basically need to know the role/description of each of the functions of th

Re: Solr -> Xapian ?

2019-01-05 Thread Joan Moreau via dovecot
Anyone willing to explain those functions ? On January 5, 2019 14:23:10 Joan Moreau via dovecot wrote: Thank Stephan I basically need to know the role/description of each of the functions of the fts_backend: struct fts_backend fts_backend_xapian = { .name = "xapian", .flags = FTS_BACKEND_F

Re: Solr -> Xapian ?

2019-01-04 Thread Joan Moreau via dovecot
Thank Stephan I basically need to know the role/description of each of the functions of the fts_backend: struct fts_backend fts_backend_xapian = { .name = "xapian", .flags = FTS_BACKEND_FLAG_NORMALIZE_INPUT, -> WHAT OTHER FLAGS ? { fts_backend_xapian_alloc, fts_backend_xapian_init, fts_bac

Re: Solr -> Xapian ?

2019-01-04 Thread Stephan Bosch
Op 04/01/2019 om 11:17 schreef Joan Moreau via dovecot: Why not, but please guide me about the core structure (mandatory funcitons, etc..) of a typical Dovecot FTS plugin The Dovecot API documentation is not exhaustive everywhere, but the basics are documented. The remaining questions can

Re: Solr -> Xapian ?

2019-01-04 Thread Joan Moreau via dovecot
Also, a description of the "to be" functions of the backend: struct fts_backend fts_backend_xapian = { .name = "xapian", .flags = FTS_BACKEND_FLAG_NORMALIZE_INPUT, -> WHAT OTHER FLAGS ? { fts_backend_xapian_alloc, fts_backend_xapian_init, fts_backend_xapian_deinit, fts_backend_xapian_get_last

Re: Solr -> Xapian ?

2019-01-04 Thread Joan Moreau via dovecot
Yes but: 1 - is there a documentation of the main object ? (fts_backend, mail_user, mailbox, etc..) 2 - What are the mandatory functions ? 3 - Search : Supposedly, the FTS shall have several parameters : the keyword(s), the user & mailbox, and the fields (to, from, body, etc..) to be includ

Re: Solr -> Xapian ?

2019-01-04 Thread admin
A starting point would be to have a look at the current FTS plugins: https://github.com/dovecot/core/tree/master/src/plugins/fts-solrandhttps://github.com/dovecot/core/tree/master/src/plugins/fts-squat -M Am Freitag, den 04.01.2019, 18:17 +0800 schrieb Joan Moreau via dovecot: > Why not, but plea

Re: Solr -> Xapian ?

2019-01-04 Thread Joan Moreau via dovecot
Why not, but please guide me about the core structure (mandatory funcitons, etc..) of a typical Dovecot FTS plugin On 2019-01-04 17:20, Aki Tuomi wrote: I hope you are aware that "linking with Xapian" requires somewhat more work than just -lxapian in linker? If you or someone feels like writin

Re: Solr -> Xapian ?

2019-01-04 Thread Aki Tuomi
I hope you are aware that "linking with Xapian" requires somewhat more work than just -lxapian in linker? If you or someone feels like writing fts_xapian, go for it. Aki > On 04 January 2019 at 08:20 Joan Moreau via dovecot > wrote: > > > What about consedering linking Dovecot with Xapian

Solr -> Xapian ?

2019-01-03 Thread Joan Moreau via dovecot
What about consedering linking Dovecot with Xapian librairies instead of going to nightmare Solr ? https://xapian.org/features On 2019-01-02 17:10, John Tulp wrote: On Wed, 2019-01-02 at 00:59 -0800, M. Balridge wrote: The main problem is : After some time of indexing from Dovecot, Dovecot