SOLR-18100: Improve Combined Query Feature documentation#4144
SOLR-18100: Improve Combined Query Feature documentation#4144ilariapet wants to merge 3 commits intoapache:mainfrom
Conversation
…combined-query-documentation
| `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. |
There was a problem hiding this comment.
Add the full reference of the class 'QueryAndResponseCombiner'
There was a problem hiding this comment.
+1, having the full class reference here would be nice.
| ``` | ||
|
|
||
| In this case, `customAlgorithm` is specified which is the name defined in the configuration; the RRF-specific parameters do not need to be provided. | ||
|
|
There was a problem hiding this comment.
you can add links to our blog posts, we have two on the topic, you can ask Lisa for the URLs (they will be published before this documentation will)
alessandrobenedetti
left a comment
There was a problem hiding this comment.
The documentation change is interesting and needs some minor changes
dsmiley
left a comment
There was a problem hiding this comment.
thanks for contributing!
| 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/" |
There was a problem hiding this 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.
There was a problem hiding this comment.
--jvm-opts -- surely we can just pass -Dsolr.....
| --jvm-opts "-Dsolr.security.allow.urls=http://localhost:8983/solr/" | ||
| ``` | ||
|
|
||
| In SolrCloud mode, this is managed automatically via ZooKeeper. |
There was a problem hiding this comment.
I would do away with this sentence, as redundant with the prior paragraph. And the ZK reference is a needless implementation detail reference.
| 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`. |
There was a problem hiding this comment.
| This parameter can be set to put upper limit check on the maximum number of queries can be executed defined in `combiner.query`. | |
| This parameter can be set to enforce an upper limit on the number of queries defined in `combiner.query`. |
| 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`. |
There was a problem hiding this 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.
There was a problem hiding this comment.
please don't add to the changelog on documentation matters
| [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: |
There was a problem hiding this comment.
I haven’t encountered this issue before, as it might vary depending on the infrastructure (?)
| </searchComponent> | ||
| ``` | ||
|
|
||
| Then, when executing the combined query, the only thing that changes in the JSON query payload is the value specified in the `combiner.algorithm` parameter: |
There was a problem hiding this comment.
I appreciate you breaking this down.
https://issues.apache.org/jira/browse/SOLR-18100
Description
Some sections of the Combined Query Feature documentation have been made clearer to improve understanding and usability of the feature.
Checklist
Please review the following and check all that apply:
mainbranch../gradlew check.