[
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: [email protected]
For additional commands, e-mail: [email protected]