(This is why i shouldn't send emails just before going to bed.)

I woke up this morning realizing that of course I was completley wrong 
when i said this...

: I want to be clear for 99% of the people reading this, if you find 
: yourself writting a query structure like this...
: 
:   q={!func}..functions involving wrapping $qq ...
        ...
: ...Try to restructure the match you want to do into the form of a 
: multiplier
        ... 
: Because the later case is much more efficient and Solr will only compute 
: the function values for hte docs it needs to (that match the wrapped $qq 
: query)

The reason i was wrong...

Even though function queries do by default match all documents, and even 
if the main query is a function query (ie: "q={!func}..."), if there is 
an "fq" that filters down the set of documents, then the (main) function 
query will only be calculated for the documents that match the filter.

It was trivial to ammend the test i mentioned last night to show this (and 
i feel silly for not doing that last night and stoping myself from saying 
something foolish)...

  https://svn.apache.org/viewvc?view=revision&revision=r1548955

The bottom line for Peter is still the same: using scale() wrapped arround 
a function/query does involve a computing hte results for every document, 
and that is going to scale linearly as the size of hte index grows -- but 
it it is *only* because of the scale function.



-Hoss
http://www.lucidworks.com/

Reply via email to