[ https://issues.apache.org/jira/browse/SOLR-16646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gabriel Magno updated SOLR-16646: --------------------------------- Description: 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=%7B!knn%20f%3Dfilm_vector%20topK%3D10000%7D[0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0]&sort=%24similarity%20desc was: 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 > 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 > Priority: Minor > Labels: FunctionQuery, operator > > 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=%7B!knn%20f%3Dfilm_vector%20topK%3D10000%7D[0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0%2C0.0]&sort=%24similarity%20desc -- 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