dsmiley commented on a change in pull request #780: SOLR-11866: Support 
efficient subset matching in query elevation rules
URL: https://github.com/apache/lucene-solr/pull/780#discussion_r303720194
 
 

 ##########
 File path: 
solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
 ##########
 @@ -834,48 +850,77 @@ public int size() {
   };
 
   /**
-   * Simple query exact match {@link ElevationProvider}.
-   * <p>
-   * It does not support subset matching (see {@link 
#parseMatchPolicy(String)}).
-   * <p>
-   * Immutable.
+   * Provides elevations with either:
+   * <ul>
+   * <li><b>subset match</b> - all the elevating terms are matched in the 
search query, in any order.</li>
+   * <li><b>exact match</b> - the elevating query matches fully (all terms in 
same order) the search query.</li>
+   * </ul>
+   * The terms are tokenized with the query analyzer.
    */
-  @SuppressWarnings("WeakerAccess")
-  protected class MapElevationProvider implements ElevationProvider {
+  protected class SubsetMatchElevationProvider implements ElevationProvider {
 
-    private final Map<String, Elevation> elevationMap;
+    private final SubsetMatcher<String, Elevation> subsetMatcher;
+    private final Map<String, Elevation> exactMatchElevationMap;
 
-    public MapElevationProvider(Map<ElevatingQuery, ElevationBuilder> 
elevationBuilderMap) {
-      elevationMap = buildElevationMap(elevationBuilderMap);
-    }
-
-    private Map<String, Elevation> buildElevationMap(Map<ElevatingQuery, 
ElevationBuilder> elevationBuilderMap) {
-      Map<String, Elevation> elevationMap = 
Maps.newHashMapWithExpectedSize(elevationBuilderMap.size());
+    /**
+     * @param subsetMatcherBuilder The {@link SubsetMatcher.Builder} to build 
the {@link SubsetMatcher}.
+     * @param elevationBuilderMap The map of elevation rules.
+     */
+    protected SubsetMatchElevationProvider(SubsetMatcher.Builder<String, 
Elevation> subsetMatcherBuilder,
 
 Review comment:
   This is the only ElevationProvider that Solr provides.  So I think we should 
just call it DefaultElevationProvider.   By using the name 
SubsetMatchElevationProvider it suggests it only does this when it does exact 
as well.  It's not like there are separate impls.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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

Reply via email to