dsmiley commented on code in PR #4144:
URL: https://github.com/apache/solr/pull/4144#discussion_r2825560606


##########
solr/solr-ref-guide/modules/query-guide/pages/json-combined-query-dsl.adoc:
##########
@@ -25,6 +25,43 @@ It is extending JSON Query DSL ultimately enabling Hybrid 
Search.
 This feature is currently unsupported for grouping and Cursors.
 ====
 
+[IMPORTANT]
+====
+This feature works in both Standalone and SolrCloud modes and always performs 
distributed search execution.
+In Standalone (user-managed) mode, shard URLs must be explicitly allow-listed 
using the *allowUrls* parameter, otherwise Solr returns HTTP 403. For example:
+
+```
+--jvm-opts "-Dsolr.security.allow.urls=http://localhost:8983/solr/";
+```
+
+In SolrCloud mode, this is managed automatically via ZooKeeper.
+====
+
+== Configuration Requirements
+
+Combined Query Feature has a separate handler with class 
`solr.CombinedQuerySearchHandler` which can be configured as below:
+
+```
+<requestHandler name="/search" class="solr.CombinedQuerySearchHandler">
+.....
+</requestHandler>
+```
+
+In addition, the `QueryComponent` has been extended to create a new 
`CombinedQueryComponent`, which must be declared as a search component:
+```
+<searchComponent class="solr.CombinedQueryComponent" name="combined_query">
+    <int name="maxCombinerQueries">2</int>
+</searchComponent>
+```
+
+
+The Search Component also accepts parameters as below:
+
+`maxCombinerQueries`::
+This parameter can be set to put upper limit check on the maximum number of 
queries can be executed defined in `combiner.query`.

Review Comment:
   ```suggestion
   This parameter can be set to enforce an upper limit on the number of queries 
defined in `combiner.query`.
   ```



##########
solr/solr-ref-guide/modules/query-guide/pages/json-combined-query-dsl.adoc:
##########
@@ -25,6 +25,43 @@ It is extending JSON Query DSL ultimately enabling Hybrid 
Search.
 This feature is currently unsupported for grouping and Cursors.
 ====
 
+[IMPORTANT]
+====
+This feature works in both Standalone and SolrCloud modes and always performs 
distributed search execution.
+In Standalone (user-managed) mode, shard URLs must be explicitly allow-listed 
using the *allowUrls* parameter, otherwise Solr returns HTTP 403. For example:
+
+```
+--jvm-opts "-Dsolr.security.allow.urls=http://localhost:8983/solr/";

Review Comment:
   Hmm; okay, the need for this is something Solr should improve (to 
automatically add localhost same-port).  If this was improved, I suspect you 
wouldn't of even written this entire paragraph.



##########
solr/solr-ref-guide/modules/query-guide/pages/json-combined-query-dsl.adoc:
##########
@@ -71,37 +108,41 @@ Below is a sample JSON query payload:
 }
 ```
 
-== Search Handler Configuration
-
-Combined Query Feature has a separate handler with class 
`solr.CombinedQuerySearchHandler` which can be configured as below:
-
-```
-<requestHandler name="/search" class="solr.CombinedQuerySearchHandler">
-.....
-</requestHandler>
-```
+== Combiner Algorithm Plugin
 
-The Search Handler also accepts parameters as below:
+As mentioned xref:json-combined-query-dsl.adoc#query-dsl-structure[above], 
custom algorithms can be configured to combine the results across multiple 
queries using a 
https://solr.apache.org/guide/solr/latest/configuration-guide/solr-plugins.html[Solr
 plugin].
 
-`maxCombinerQueries`::
-  This parameter can be set to put upper limit check on the maximum number of 
queries can be executed defined in `combiner.query`.
-  It defaults to `5` if not set.
+The class to implement the custom logic has to extend 
`QueryAndResponseCombiner`, which is an abstract base class that provides a 
framework for implementing various algorithms used to merge ranked lists and 
shard documents.
 
-=== Combiner Algorithm Plugin
+The custom class must be implemented in a Java project built against the Solr 
version that includes this feature (declared as a dependency in the build 
configuration), and the compiled JAR must then be deployed to the Solr 
libraries directory `../server/solr-webapp/webapp/WEB-INF/lib`.

Review Comment:
   Rather than say these specific things, please instead refer to 
`solr-plugins.adoc` which discusses several ways to install them (IMO least 
preferred is WEB-INF/lib).  If you want to say more about java development, I 
think _that_ page would be where we might want to say such things.  But not 
_this_ page here.



##########
solr/solr-ref-guide/modules/query-guide/pages/json-combined-query-dsl.adoc:
##########
@@ -25,6 +25,43 @@ It is extending JSON Query DSL ultimately enabling Hybrid 
Search.
 This feature is currently unsupported for grouping and Cursors.
 ====
 
+[IMPORTANT]
+====
+This feature works in both Standalone and SolrCloud modes and always performs 
distributed search execution.
+In Standalone (user-managed) mode, shard URLs must be explicitly allow-listed 
using the *allowUrls* parameter, otherwise Solr returns HTTP 403. For example:
+
+```
+--jvm-opts "-Dsolr.security.allow.urls=http://localhost:8983/solr/";

Review Comment:
   `--jvm-opts` -- surely we can just pass `-Dsolr.....` 



##########
solr/solr-ref-guide/modules/query-guide/pages/json-combined-query-dsl.adoc:
##########
@@ -25,6 +25,43 @@ It is extending JSON Query DSL ultimately enabling Hybrid 
Search.
 This feature is currently unsupported for grouping and Cursors.
 ====
 
+[IMPORTANT]
+====
+This feature works in both Standalone and SolrCloud modes and always performs 
distributed search execution.
+In Standalone (user-managed) mode, shard URLs must be explicitly allow-listed 
using the *allowUrls* parameter, otherwise Solr returns HTTP 403. For example:
+
+```
+--jvm-opts "-Dsolr.security.allow.urls=http://localhost:8983/solr/";
+```
+
+In SolrCloud mode, this is managed automatically via ZooKeeper.

Review Comment:
   I would do away with this sentence, as redundant with the prior paragraph.  
And the ZK reference is a needless implementation detail reference.



##########
changelog/unreleased/SOLR-18100-improve-combined-query-documentation.yml:
##########


Review Comment:
   please don't add to the changelog on documentation matters



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to