Hi, I've got a Ferret index which I'm using through ActsAsFerret on a database with about 300,000 records. Searches on the index (for example wildcard - "A*") seem to be truncated at 512 results. This is a problem as I also pass conditions to ActiveRecord which filter this resultset down, often to zero results when in fact the database contains many records which matched the conditions but just happened to be outside the 512 Ferret return. I thought the solution would be setting max terms to a higher value, with something like - Ferret::Search::MultiTermQuery.default_max_terms = 5000, however this seems to have no effect. Is there somewhere this value is overridden or could there be some other setting which is restricting the number of results returned by Ferret? Any help or ideas would be great! Thanks!
on 18.04.2008 12:36
on 24.04.2008 08:11
On Fri, Apr 18, 2008 at 12:36:53PM +0200, Tom Castle wrote: > 5000, however this seems to have no effect. Is there somewhere this > value is overridden or could there be some other setting which is > restricting the number of results returned by Ferret? Yes, most probably it's the boolean query's max_clauses option which defaults to 512. If you're using the QueryParser, you may pass it :max_clauses => 5000 option to globally raise this for all kinds of queries. There should also be a max_clauses class method in BooleanQuery. Cheers, Jens -- Jens Krämer Finkenlust 14, 06449 Aschersleben, Germany VAT Id DE251962952 http://www.jkraemer.net/ - Blog http://www.omdb.org/ - The new free film database