lucene-solr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Solr Wiki] Update of "FunctionQuery" by YonikSeeley
Date Thu, 23 Sep 2010 15:16:24 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.

The "FunctionQuery" page has been changed by YonikSeeley.
The comment on this change is: doc param substitution.


   1. A Constant (numeric or string literal) - See "constant" and "literal" below.
   1. A Field - See "fieldvalue" below. Also see notes later on multivalued/vector fields.
   1. Another Function
+  1. <!> [[Solr4.0]] A parameter substitution: $arg, where arg is another function
in the request.
+   * Example request: {{{q={!func}add($v1,$v2)&v1=sqrt(popularity)&v2=100.0}}} 
  = Using FunctionQuery =
  There are a few ways to use FunctionQuery from Solr's HTTP interface:
   1. Embed a FunctionQuery in a regular query expressed in SolrQuerySyntax via the _val_
-  1. Use the FunctionQParserPlugin, ie: {{{q={!func}log(foo)}}}
+  1. Invoke the FunctionQParserPlugin via LocalParams syntax, e.g. {{{q={!func}log(foo)}}}
+  1. Set '''func''' as the default query type, e.g. {{{defType=func&q=log(foo)}}}
-  1. Use a parameter that has an explicit type of FunctionQuery, such as [[DisMaxQParserPlugin]]'s
'''bf''' (boost function) parameter.
+  1. Use a parameter that has an explicit type of FunctionQuery, such as [[DisMaxQParserPlugin]]'s
'''bf''' (boost function) parameter, or extended dismax '''boost''' parameter (multiplicative
    * NOTE: the '''bf''' parameter actually takes a list of function queries separated by
whitespace and each with an optional boost.  Make sure to eliminate any internal whitespace
in single function queries when using '''bf'''.
-   * Example: {{{q=foo&bf="ord(popularity)^0.5 recip(rord(price),1,1000,1000)^0.3"}}}
+   * Example: {{{q=foo&bf="ord(popularity)^0.5 recip(rord(price),1,1000,1000)^0.3"}}}

  See SolrPlugins#ValueSourceParser for information on how to hook in your own FunctionQuery.
- Note that a FunctionQuery matches all non-deleted documents.
+ Note that a FunctionQuery currently matches all non-deleted documents.
  = Function Query Syntax =
  There is currently no infix parser - functions must be expressed as function calls (e.g.
sum(a,b) instead of a+b)

View raw message