Difference between revisions of "Baloo/XapianProblems"

Jump to: navigation, search
(create page)
 
m (fix typo)
Line 1: Line 1:
 
=== Problems with Xapian ===
 
=== Problems with Xapian ===
  
* It heavily relies on exceptions. Exceptions are not well supported in Qt and might make the application crash as mentioned [http://qt-project.org/doc/qt-5/exceptionsafety.html here]. For example while locking  a database Xapian expects the program to catch certian exceptions and retry if they are cought.
+
* It heavily relies on exceptions. Exceptions are not well supported in Qt and might make the application crash as mentioned [http://qt-project.org/doc/qt-5/exceptionsafety.html 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.
 
*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.

Revision as of 14:03, 29 November 2014

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.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.