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

Houston Putman commented on SOLR-11746:
---------------------------------------

[~hossman] I added a ticket for that, SOLR-14199, and will put some work 
towards it after this gets merged. For now I've kept the use of 
{{isPointField()}}.

I've attached a new patch which should address all of the issues we have seen 
so far, with new tests that cover all of these issues. I've also increased the 
documentation to make all of this explicitly clear. I'm very open to 
suggestions on how the documentation could be improved.

I kept {{getSpecializedRangeQuery()}} because it's necessary in order to 
prevent a circular dependency, and I also kept 
{{getSpecializedExistenceQuery()}} because it removes the need to write out the 
following logic multiple places:
{code:java}
if (field.hasDocValues()) {
  return new DocValuesFieldExistsQuery(field.getName());
} else if (!field.omitNorms() && !isPointField()) { //TODO: Remove 
!isPointField() for SOLR-14199
  return new NormsFieldExistsQuery(field.getName());
} else {
  // Default to an unbounded range query
  return getSpecializedExistenceQuery(parser, field);
}
{code}
I'm willing to remove {{getSpecializedExistenceQuery()}} if y'all think its 
unnecessary clutter, I just think it's a cleaner way of doing it.

Other than that small implementation detail, I think this is ready to go.

> numeric fields need better error handling for prefix/wildcard syntax -- 
> consider uniform support for "foo:* == foo:[* TO *]"
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-11746
>                 URL: https://issues.apache.org/jira/browse/SOLR-11746
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 7.0
>            Reporter: Chris M. Hostetter
>            Assignee: Houston Putman
>            Priority: Major
>             Fix For: master (9.0), 8.5
>
>         Attachments: SOLR-11746.patch, SOLR-11746.patch, SOLR-11746.patch, 
> SOLR-11746.patch, SOLR-11746.patch, SOLR-11746.patch, SOLR-11746.patch, 
> SOLR-11746.patch
>
>
> On the solr-user mailing list, Torsten Krah pointed out that with Trie 
> numeric fields, query syntax such as {{foo_d:\*}} has been functionality 
> equivilent to {{foo_d:\[\* TO \*]}} and asked why this was not also supported 
> for Point based numeric fields.
> The fact that this type of syntax works (for {{indexed="true"}} Trie fields) 
> appears to have been an (untested, undocumented) fluke of Trie fields given 
> that they use indexed terms for the (encoded) numeric terms and inherit the 
> default implementation of {{FieldType.getPrefixQuery}} which produces a 
> prefix query against the {{""}} (empty string) term.  
> (Note that this syntax has aparently _*never*_ worked for Trie fields with 
> {{indexed="false" docValues="true"}} )
> In general, we should assess the behavior users attempt a prefix/wildcard 
> syntax query against numeric fields, as currently the behavior is largely 
> non-sensical:  prefix/wildcard syntax frequently match no docs w/o any sort 
> of error, and the aformentioned {{numeric_field:*}} behaves inconsistently 
> between points/trie fields and between indexed/docValued trie fields.



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

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

Reply via email to