Manybubbles has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/123866

Change subject: Fix boost_before for top_scoring
......................................................................

Fix boost_before for top_scoring

Change-Id: I64c08770aabc901d4ea06bcfe127ddbab417f684
---
M 
experimental-highlighter-elasticsearch-plugin/src/main/java/org/elasticsearch/search/highlight/FieldWrapper.java
M 
experimental-highlighter-elasticsearch-plugin/src/test/java/org/elasticsearch/highlight/ExperimentalHighlighterTest.java
2 files changed, 18 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/search/highlighter 
refs/changes/66/123866/1

diff --git 
a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/elasticsearch/search/highlight/FieldWrapper.java
 
b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/elasticsearch/search/highlight/FieldWrapper.java
index 6e95b94..e421530 100644
--- 
a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/elasticsearch/search/highlight/FieldWrapper.java
+++ 
b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/elasticsearch/search/highlight/FieldWrapper.java
@@ -140,9 +140,12 @@
         HitEnum e = buildHitEnumForSource();
         FieldOptions options = context.field.fieldOptions();
         if (!options.scoreOrdered()) {
-            // If we're not score ordered then there isn't any point in 
changing
-            // the enum's weights.
-            return e;
+            Boolean topScoring = 
(Boolean)executionContext.getOption("top_scoring");
+            if (topScoring == null || !topScoring) {
+                // If we don't pay attention to scoring then there is no point
+                // is messing with the weights.
+                return e;
+            }
         }
         // TODO move this up so we don't have to redo it per matched_field
         @SuppressWarnings("unchecked")
diff --git 
a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/elasticsearch/highlight/ExperimentalHighlighterTest.java
 
b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/elasticsearch/highlight/ExperimentalHighlighterTest.java
index bff0eb9..79a15d5 100644
--- 
a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/elasticsearch/highlight/ExperimentalHighlighterTest.java
+++ 
b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/elasticsearch/highlight/ExperimentalHighlighterTest.java
@@ -328,10 +328,9 @@
         indexTestData("The quick brown fox jumped over the lazy test.  And 
some other test.  " +
                 "Junk junk junk junk junk junk junk junk junk junk junk test 
test test.");
 
-
         SearchRequestBuilder search = testSearch(
                 boolQuery().should(termQuery("test", 
"test")).should(termQuery("test", "foo")))
-                .addHighlightedField(new 
HighlightBuilder.Field("test").fragmenter("sentence").numOfFragments(3))
+                .addHighlightedField(new 
HighlightBuilder.Field("test").fragmenter("sentence").numOfFragments(2))
                 .setHighlighterOrder("score");
         Map<String, Object> options = new HashMap<String, Object>();
         options.put("boost_before", ImmutableMap.of("10", 4, "20", 2f));
@@ -341,7 +340,17 @@
             assertHighlight(response, 0, "test", 0, equalTo("The quick brown 
fox jumped over the lazy <em>test</em>.  "));
             assertHighlight(response, 0, "test", 1, equalTo("Junk junk junk 
junk junk junk junk " +
                     "junk junk junk junk <em>test</em> <em>test</em> 
<em>test</em>."));
-            assertHighlight(response, 0, "test", 2, equalTo("And some other 
<em>test</em>.  "));
+        }
+
+        // Should also apply when sorting by source using top_scoring
+        search.setHighlighterOrder("source");
+        options.put("top_scoring", true);
+        for (String hitSource : HIT_SOURCES) {
+            options.put("hit_source", hitSource);
+            SearchResponse response = 
search.setHighlighterOptions(options).get();
+            assertHighlight(response, 0, "test", 0, equalTo("The quick brown 
fox jumped over the lazy <em>test</em>.  "));
+            assertHighlight(response, 0, "test", 1, equalTo("Junk junk junk 
junk junk junk junk " +
+                    "junk junk junk junk <em>test</em> <em>test</em> 
<em>test</em>."));
         }
     }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/123866
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I64c08770aabc901d4ea06bcfe127ddbab417f684
Gerrit-PatchSet: 1
Gerrit-Project: search/highlighter
Gerrit-Branch: master
Gerrit-Owner: Manybubbles <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to