Xapian discussion

[12:38] <bmesing> enrico: Actually that being an index search, it is quite logical.
[12:38] <enrico> bmesing: it has upsides and downsides: you can search for "mc" easily, but you have a problem searching for foo in libfoo
[12:38] <bmesing> Probably some kind of tree structure.
[12:39] <enrico> bmesing: I'm exploring the idea of a debian-specific stemmer that would handle cases like libfoo, but I haven't found a decent solution on how to make the stemmer code usable from all sorts of laguuages
[12:39] <bmesing> I have to do some testing on the performance gain, if it is worth keeping it in.
[12:39] <enrico> programming lancuages, that is
[12:39] <enrico> bmesing: synaptics in experimental has apt-xapian-index search-as-you-type support
[12:40] <bmesing> enrico: That's cool.
[12:40] <enrico> bmesing: if you see apt-xapian-index, you should consider using it for searhc-as-you-type
[12:40] <enrico> bmesing: and for suggesting keywords and tags, possible also while doing search-as-you-type (it's performing enough for that)
[12:40] <enrico> link coming...
[12:41] <enrico> http://www.enricozini.org/2007/debtags/axi-searchasyoutype.html
[12:41] <enrico> http://www.enricozini.org/2007/debtags/axi-query-expand.html
[12:41] <enrico> bmesing: ^





libapt-front introduction

[14:41] <enrico> The other problem is that all libapt-front code will give you aptFront::entity::Tag objects for tags
[14:42] <enrico> but we can probably hack this HandleMaker to make it transparent for you
[14:42] <enrico> So, some intro in libapt-front
[14:42] <enrico> its main concepts are Cache and Entity
[14:42] <enrico> Cache is the place where Entities come from
[14:43] <enrico> sorry, Component and Entity, and Component is the place where Entities come from
[14:44] <enrico> examples of Components are Packages, Tags and PackageTags
[14:44] <enrico> examples of Entities are Package, Version, Tag and Facet
[14:44] <enrico> There's some more than that, but it gives the idea

you can gdb it and set a breakpoint on __cxa_throw, to see where the exception is actually thrown
"break __cxa_throw"

# to generate the release version use "CONFIG += my_release" as arguemnt for qmake on
# the command line - this was neccessary because "release" is declared
# by default - so it must be removed manually using "CONFIG -= release"
# however using kdevelop this is not possible so I've created this workaround


libtagcoll
	

tagcoll
	Vocabulary - can read the tag database including the implications and description, it maps the 
		tags to the associated data
	
Open questions for libapt-front

How to update the database?
	- is it simply aptFront::cache::Cache.reopen()?
	- will anybody be notified?
	- what are the observers observing?
	- what does aptFront::cache::component::Packages::packageByName return if there is no 
	  such package?
	  
	getCompanionTags : shouldn't it contain the tag itself?