[ 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