Baloo/XapianProblems

From KDE Community Wiki
Revision as of 14:03, 29 November 2014 by Pinak (talk | contribs) (fix typo)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Problems with Xapian

  • It heavily relies on exceptions. Exceptions are not well supported in Qt and might make the application crash as mentioned here. For example while locking a database Xapian expects the program to catch certain exceptions and retry if they are caught.
  • If we want to read and write to an Xapian database simultaneously we need to keep separate copies for reading and writing, thus wasting memory.
  • It does not handle data that is changing frequently, if data in document changes to frequently it can lead to a conditions in which locking the database for writing becomes impossible thus making baloo fail.
  • Baloo needs support for normalizing text i.e. removing all diacritic marks and also needs to split words with '_' to generate terms, Xapian's term generator doesn't provide support for either. So baloo uses its own term generator.
  • While searching for something the user may not type complete words so we need to look for every possible expansion of the words in a query, xapian doesn't provide this feature so we're using our own query parser.