cpoerschke commented on a change in pull request #757: URL: https://github.com/apache/solr/pull/757#discussion_r837695857
########## File path: solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java ########## @@ -431,14 +435,27 @@ protected Locale parseLocale(String language, String country, String variant) { @Override protected Predicate<String> getFieldMatcher(String field) { - // TODO define hl.queryFieldPattern as a more advanced alternative to hl.requireFieldMatch. // note that the UH at Lucene level default to effectively "true" if (params.getFieldBool(field, HighlightParams.FIELD_MATCH, false)) { return field::equals; // requireFieldMatch - } else { - return NOT_REQUIRED_FIELD_MATCH_PREDICATE; } + + String[] queryFieldPattern = + params.getFieldParams(field, HighlightParams.QUERY_FIELD_PATTERN); + if (queryFieldPattern != null && queryFieldPattern.length != 0) { + + Collection<String> indexedFields = solrIndexSearcher.getDocFetcher().getIndexedFieldNames(); + + final Set<String> fields = + Set.of(expandWildcardsInHighlightFields(indexedFields, queryFieldPattern)); + if (fields.isEmpty()) { + return NO_FIELD_MATCH_PREDICATE; + } Review comment: Ah, yes, structural carry-over from the `if (predicate == null) {` that was there earlier but empty set would handle it implicitly, good spot. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org