Hello I defined a weighting scheme to simulate a king of "euclidean" distance. To test it, i used a database with 1000 documents. If I run : enquire.set_weighting_scheme(MyWeight()); Xapian::MSet matches = enquire.get_mset(0, 1000); I have a correct list of results. But if I run Xapian::MSet matches = enquire.get_mset(0, 10); I don't have the top-10 results. If I run Xapian::MSet matches = enquire.get_mset(0, 20); I d'ont have the top-20 results and it's even not the same order than the previous top-10 (actually it's the top-10 with inserted results). I'm lost ! Regards, pa.
Did you implement the get_maxpart() and get_maxextra() methods correctly? It sounds like those are returning incorrect values, which would cause optimisations to fire early, and would produce effects such as those you describe. If you're able to post the source code somewhere (eg, in a site like pastebin.com), we might be able to spot the error. -- Celestial Navigation Limited, incorporated in England & Wales (registration number 06978117), registered office address: 58 Kingsway, Duxford, Cambridgeshire, CB224QN, UK.
Apparently Analagous Threads
- xapian-check on "crashed" index?
- overlapping docids when searching on multiple databases?
- Are stub databases still supported in 1.0.21?
- Is it possible to reset the parameters in BM25 each time a new query enters?
- hypens in words + NEAR + 3 terms + AND_MAYBE => crash