[prev in list] [next in list] [prev in thread] [next in thread]
List: lucene-dev
Subject: [jira] Commented: (LUCENE-446) FunctionQuery - score based on field value
From: "Yonik Seeley (JIRA)" <jira () apache ! org>
Date: 2005-11-30 18:16:30
Message-ID: 34114203.1133374590105.JavaMail.jira () ajax ! apache ! org
[Download RAW message or body]
[ http://issues.apache.org/jira/browse/LUCENE-446?page=comments#action_12358936 ] \
Yonik Seeley commented on LUCENE-446:
-------------------------------------
This newest version simplifies a lot of cruft from the previous version.
A FunctionQuery takes a ValueSource.
The ValueSource produces a DocValues object for a specific IndexReader (It's like a \
lucene scorer). The ValueSource is also used as input to functions, which are \
ValueSources themselves.
So, you can do things (symbolically), like
int(fieldx)
float(fieldx)
ord(fieldx)
rord(fieldx)
linear(fieldx,1,2)
linear(rord(fieldx),1,2,3)
reciprocal(linear(fieldx,1,2),3,4,5)
A useful one for boosting more recent dates might be:
reciprocal(rord(mydatefield),1,1000,1000)
I'm not sure if this is the final form yet... perhaps the division between \
ValueSource and Query could be erased such that every value source is a query \
already (so that you don't need to pass it to a FunctionQuery).
It would also be nice to freely mix a lucene Query and a ValueSource so that you \
could do something like: product(luceneQuery, val(fieldx))
or even
product(luceneQuery1, luceneQuery2)
Of course, I haven't done the "product" function yet... right now, the normal way \
tocombine with other queries to influence the score is to put it in a boolean query: \
+other_lucene_query_clauses +function_query^.1 the score from the function query is \
added to the other query.
> FunctionQuery - score based on field value
> ------------------------------------------
>
> Key: LUCENE-446
> URL: http://issues.apache.org/jira/browse/LUCENE-446
> Project: Lucene - Java
> Type: New Feature
> Components: Search
> Versions: 1.9
> Reporter: Yonik Seeley
> Attachments: function.zip
>
> FunctionQuery can return a score based on a field's value or on it's ordinal value.
> FunctionFactory subclasses define the details of the function. There is currently \
> a LinearFloatFunction (a line specified by slope and intercept). Field values are \
> typically obtained from FieldValueSourceFactory. Implementations include \
> FloatFieldSource, IntFieldSource, and OrdFieldSource.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic