You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Munendra S N (Jira)" <ji...@apache.org> on 2020/09/13 07:50:00 UTC

[jira] [Commented] (SOLR-14859) [* TO *] queries on DateRange fields miss results

    [ https://issues.apache.org/jira/browse/SOLR-14859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17194945#comment-17194945 ] 

Munendra S N commented on SOLR-14859:
-------------------------------------

[~gerlowskija]
I was able to reproduce the problem using the script
This [code|https://github.com/apache/lucene-solr/blob/485d5fb41a39ab08ae9dca6bdba579aa78e69e2b/solr/core/src/java/org/apache/solr/schema/FieldType.java#L946], introduced in SOLR-11746 actually check if omitnorms is enabled or disabled. Only if disabled and non-PointField, it uses NormsFieldExistsQuery. So, based on this flow {{omitNorms}} is false by default for DateRangeField
I verified this using the Admin UI and luke API. The SchemaField(used in the above) properties says that OmitNorms is not set to true but {{IndexableFieldType}} says OmitNorms is set to true. So, the actual data indexed has omitNorms=true because of [this|https://github.com/apache/lucene-solr/blob/master/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/PrefixTreeStrategy.java#L191-L197]. Looks like SOLR-11746 exposed this mismatch between SchemaField properties and IndexableFieldType properties.

{code:java}
{
"type": "date_range_type",
"schema": "I-S-U------F------",
"index": "ITS-------OF------",
"docs": 1
}
{code}


> [* TO *] queries on DateRange fields miss results
> -------------------------------------------------
>
>                 Key: SOLR-14859
>                 URL: https://issues.apache.org/jira/browse/SOLR-14859
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: query parsers
>    Affects Versions: 8.5
>            Reporter: Jason Gerlowski
>            Priority: Major
>         Attachments: query-debug.png, reproduce.sh, schema.png
>
>
> "exists" queries ({{[* TO *]}}) on DateRange fields return 0 results regardless of docs in the index with values in that field.
> The issue appears to be that the query is converted into a {{NormsFieldExistsQuery}}, even though DateRangeField uses omitNorms=true by default.  Probably introduced by SOLR-11746's changes to these optimizable range queries.
> I've attached a script to reproduce the issue (tested on Solr 8.6.2) and screenshots showing showing schema and query-parsing info for the reproduction.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org