Re: How to make database build threaded?

Jean-Francois Dockes <[email protected]>
Newsgroups gmane.comp.search.xapian.general
Message-ID <[email protected]>
Franco Martelli writes:
 > On 14/09/2018 at 09:30, Jean-Francois Dockes wrote:
 > > Hi,
 > > 
 > > You may be interested by how Recoll does it:
 > > 
 > > https://www.lesbonscomptes.com/recoll/idxthreads/threadingRecoll.html
 > > 
 > > A few things in the document are slightly obsolete (esp. the last
 > > paragraph: recollindex now does use vfork()), but it's overall quite close
 > > to how the current indexer works.
 > > 
 > > jfd
 > > 
 > Thank for your answer, briefly it's No:
 > 
 > > The Xapian library index updating code is not designed for
 > > multi-threading and must stay protected from multiple accesses. 

Yes, obviously the Xapian part stays single-threaded.

 > just for evaluation purpose could you provide me some links to the code
 > about how Recoll parallelizes "Data extraction and Conversion" and "Term
 > generation".

The code repository is here:  https://opensourceprojects.eu/p/recoll1/code/

Or else download a tar release from here: https://www.lesbonscomptes.com/recoll/download.html

The extraction code is mostly under the "internfile" directory.

Look in index/fsindexer.cpp and rcldb/rcldb.cpp for the job queues.

Get in touch directly with me if you have questions, this is not really
Xapian-related (once you've realized that the db work will stay
single-threaded).

jfd
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.