Gabriel Magno created SOLR-16646:
------------------------------------

             Summary: Create a new function query operator to verify if value 
is NaN (isnan)
                 Key: SOLR-16646
                 URL: https://issues.apache.org/jira/browse/SOLR-16646
             Project: Solr
          Issue Type: New Feature
      Security Level: Public (Default Security Level. Issues are Public)
          Components: query
            Reporter: Gabriel Magno


It would be useful to have a function query operator (e.g. `isnan`) to check 
rather a value is a float NaN (not a number).

Examples of use cases:
 * Filtering out resulting documents having NaN in a certain field or expression
 * Setting values and expressions according to the condition of a 
field/expression being NaN (`if(isnan(value),0,1)`)
 * Replacing NaN by a default value (similar as a coalesce): 
`if(isnan(value),0,value)`

This function/operator is particularly important considering that the cosine 
similarity calculated by KNN queries with Dense Vectors might return a NaN on 
the score depending on the vectors. For an example of a query returning NaN in 
the response (with the films example):

http://localhost:8983/solr/films/select?fl=id%2C%24similarity&q=*%3A*&similarity=\{!knn
 f%3Dfilm_vector 
topK%3D10000}[0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0]&sort=%24similarity
 desc



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to