You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by mk...@apache.org on 2022/09/15 15:24:43 UTC
[solr] branch branch_9x updated: SOLR-7883: /mlt handler to support facets (#1010) (#1015)
This is an automated email from the ASF dual-hosted git repository.
mkhl pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new 3aaa4481666 SOLR-7883: /mlt handler to support facets (#1010) (#1015)
3aaa4481666 is described below
commit 3aaa44816666333bc907636809fc2ed20c5e915c
Author: Mikhail Khludnev <mk...@users.noreply.github.com>
AuthorDate: Thu Sep 15 18:24:38 2022 +0300
SOLR-7883: /mlt handler to support facets (#1010) (#1015)
* SOLR-7883: /mlt handler to support facets
---
solr/CHANGES.txt | 2 ++
.../src/java/org/apache/solr/handler/MoreLikeThisHandler.java | 6 +++++-
.../test/org/apache/solr/handler/MoreLikeThisHandlerTest.java | 10 ++++++++++
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 6cde9ec14a9..d0ddb6401ab 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -119,6 +119,8 @@ Bug Fixes
* SOLR-16343: Handle MDC snapshot being null (Dee Moore via Kevin Risden)
+* SOLR-7883: MoreLikeThisHandler to support facets (Mikhail Khludnev)
+
Other Changes
---------------------
* SOLR-16351: Upgrade Carrot2 to 4.4.3, upgrade randomizedtesting to 2.8.0. (Dawid Weiss)
diff --git a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
index 51271492afe..84c30320425 100644
--- a/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/MoreLikeThisHandler.java
@@ -48,6 +48,7 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.handler.component.FacetComponent;
+import org.apache.solr.handler.component.ResponseBuilder;
import org.apache.solr.request.SimpleFacets;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
@@ -215,7 +216,10 @@ public class MoreLikeThisHandler extends RequestHandlerBase {
if (mltDocs.docSet == null) {
rsp.add("facet_counts", null);
} else {
- SimpleFacets f = new SimpleFacets(req, mltDocs.docSet, params);
+ final ResponseBuilder responseBuilder =
+ new ResponseBuilder(req, rsp, Collections.emptyList());
+ SimpleFacets f = new SimpleFacets(req, mltDocs.docSet, params, responseBuilder);
+ FacetComponent.FacetContext.initContext(responseBuilder);
rsp.add("facet_counts", FacetComponent.getFacetCounts(f));
}
}
diff --git a/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
index 2f33c4658c7..c218b08938e 100644
--- a/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/MoreLikeThisHandlerTest.java
@@ -25,6 +25,7 @@ import org.apache.solr.common.params.MoreLikeThisParams;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.util.ContentStreamBase;
import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.component.FacetComponent;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.request.SolrQueryRequestBase;
@@ -236,6 +237,15 @@ public class MoreLikeThisHandlerTest extends SolrTestCaseJ4 {
"//result/doc[1]/str[@name='id'][.='45']",
"//lst[@name='debug']/lst[@name='explain']");
}
+
+ params.set(FacetComponent.COMPONENT_NAME, "true");
+ params.set("facet.field", "name");
+ try (SolrQueryRequest mltreq = new LocalSolrQueryRequest(core, params)) {
+ assertQ(
+ mltreq,
+ "//result/doc[1]/str[@name='id'][.='45']",
+ "//lst[@name='facet_counts']/lst[@name='facet_fields']/lst[@name='name']/int[@name='George'][.='1']");
+ }
}
@Test