I've just noticed that new indexes no longer have position.{DB,baseA,baseB} files, all previous indexes (I roll indexes every week using xapian-compact) have the position files. The index seems to work but it is returning some odd results, for example if I run a query with the phrase "machine learning" it mostly returns documents containing "machine learning" but it also returns documents containing only learning but not machine. I do not know if the two are related but it seems to have started happening at about the same time. The other problem is that I use the positionlist to generate a dynamic summary which obviously no longer works. I'm using version 1.2.0 with the ruby bindings and database type is chert. I just ran xapian-check on the index and it came back with: position: Lazily created, and not yet used. Which I guess answers my immediate question but when is the positionlist created and more to the point why is it not being created. Anyway sorry for the slightly rambling email I've just tried to get as much information down as I can! rgh -- Richard Heycock http://topikality.com +61 (0) 410 646 369 [e]: rgh at topikality.com [im]: rgh at topikality.com
On Mon, Aug 16, 2010 at 04:58:55PM +1000, Richard Heycock wrote:> I'm using version 1.2.0 with the ruby bindings and database type is > chert. > > I just ran xapian-check on the index and it came back with: > > position: > Lazily created, and not yet used. > > Which I guess answers my immediate question but when is the positionlist > created and more to the point why is it not being created.The position table is only created if you index with positional data. It is created when you first index some. This applies to both flint and chert and this feature was added in 1.0.2 (so more than three years ago). So it sounds like you aren't indexing with positional data, though it's hard to know why that might be from the given information. I don't think anything has changed in that regard since 1.0.2. Cheers, Olly