dsmiley commented on a change in pull request #113:
URL: https://github.com/apache/solr/pull/113#discussion_r626029076
##########
File path: solr/solr-ref-guide/src/common-query-parameters.adoc
##########
@@ -278,9 +278,12 @@ If you do not define the `wt` parameter in your queries,
JSON will be returned a
Solr caches the results of all queries and filter queries by default. To
disable result caching, set the `cache=false` parameter.
-You can also use the `cost` option to control the order in which non-cached
filter queries are evaluated. This allows you to order less expensive
non-cached filters before expensive non-cached filters.
+You can also use the `cost` option to provide a hint as to the order in which
non-cached filter queries are evaluated.
+This allows you to order less expensive non-cached filters before expensive
non-cached filters.
+At the Lucene layer, this maps to `TwoPhaseIterator.matchCost` if the query
has a TPI.
-For very high cost filters, if `cache=false` and `cost>=100` and the query
implements the `PostFilter` interface, a Collector will be requested from that
query and used to filter documents after they have matched the main query and
all other filter queries. There can be multiple post filters; they are also
ordered by cost.
+*Post Filters*: For very high cost filters, if `cache=false` _and_
`cost>=100`, _and_ the query implements the `PostFilter` interface, a Collector
will be requested from that query and used to filter documents after they have
matched the main query and all other filter queries.
Review comment:
I'd like to improve the situation further; thanks for sharing your
insights.
Last night I observed that cache & cost are poorly placed on this page; they
are *not* top level request parameters; they are "local parameters" which are
not even defined on this page (another problem). These two parameters would
best be documented beneath "fq" (filter query) documentation and maybe
referenced from another page that defines the caches if such exists.
RE "Post Filter" -- definitely an advanced subject. I'm doing changes for
9.x that will further reduce the instances of a PostFilter to those few that
really need to be one. Outside of this paragraph, the only other instance of
"PostFilter" I see is on the spatial page. It is within the scope of this PR
to remove that reference because it's no longer interesting that LLPSF does
_not_ implement PostFilter. What else am I missing?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]