You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ho...@apache.org on 2024/02/06 00:29:00 UTC

(solr) branch jira/SOLR-16858 updated (c398951f6ac -> c5587492b65)

This is an automated email from the ASF dual-hosted git repository.

hossman pushed a change to branch jira/SOLR-16858
in repository https://gitbox.apache.org/repos/asf/solr.git


    from c398951f6ac Update ref-guide to explain knn pre-filtering and new localparams
     new 7b0e5ebaa31 Doc cleanup. Some typos, but also changing 'may not' to 'must not' for better clarity
     new f101b1c9dcd split up some tests
     add 4d22f0c9623 SOLR-17097: Upgrade Solr to use Lucene 9.9.2 (#2176)
     add d5d7e557f9d SOLR-17066: Add GenericSolrRequest.setRequiresCollection (#2229)
     add 7d3683b007c NO JIRA: termVectors[NL] local variable rename in TermVectorComponent.process (#2234)
     add 61cf8f80917 SOLR-16699: Add Collection creation time to CLUSTERSTATUS and COLSTATUS API responses (#2226)
     add 5c64979cd91 SOLR-17066: Switch HttpSolrClient away from coreURLs, pt 2 (#2231)
     add 38746a6b6ab Add exclusion to smokeTestRelease.py
     add 6e431cfd5fb SOLR-17068: Resolve mish mash of bin/post and bin/solr post references in favour of bin/solr post. (#2227)
     add e190d7a5bd8 GHA/Crave: update to account for the new clone location (#2224)
     add 3ab16670d13 SOLR-17144: Do not keep an active thread per core (#2236)
     add eb16ff15741 Optimize ZkStateReader.refreshCollectionList (#2217)
     add b82d5ee3a94 Revert "SOLR-17066: Switch HttpSolrClient away from coreURLs, pt 2 (#2231)"
     add 4aadf52c561 update labeler.yml to sync-labels=true (#2241)
     add dbf1d1d5b44 SOLR-17038: /admin/segments handler: Expose the term count (#2233)
     add 21d97ed3a0d Revert "Revert "SOLR-17066: Switch HttpSolrClient away from coreURLs, pt 2 (#2231)""
     new c5587492b65 Merge remote-tracking branch 'origin/main' into jira/SOLR-16858

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/labeler.yml                      |   4 +-
 .github/workflows/tests-via-crave.yml              |   6 +-
 dev-tools/scripts/smokeTestRelease.py              |   2 +-
 solr/CHANGES.txt                                   |  20 ++-
 .../src/java/org/apache/solr/cli/ExportTool.java   |  21 ++-
 .../src/java/org/apache/solr/cli/PostTool.java     |  22 ++-
 .../java/org/apache/solr/cli/SimplePostTool.java   |   3 -
 .../core/src/java/org/apache/solr/cli/SolrCLI.java |   2 +-
 .../solr/cloud/DistributedClusterStateUpdater.java |   4 +-
 .../solr/cloud/overseer/ClusterStateMutator.java   |  12 +-
 .../solr/cloud/overseer/CollectionMutator.java     |   1 +
 .../apache/solr/cloud/overseer/ZkStateWriter.java  |   6 +-
 .../org/apache/solr/core/SchemaCodecFactory.java   |  10 +-
 .../src/java/org/apache/solr/core/SolrCore.java    |   4 +-
 .../org/apache/solr/core/backup/BackupManager.java |   6 +-
 .../apache/solr/handler/admin/ClusterStatus.java   |   2 +
 .../org/apache/solr/handler/admin/ColStatus.java   |   1 +
 .../handler/admin/SegmentsInfoRequestHandler.java  |   1 +
 .../solr/handler/component/QueryComponent.java     |   8 +-
 .../handler/component/QueryElevationComponent.java |   3 +-
 .../component/ShardFieldSortedHitQueue.java        |   5 +-
 .../handler/component/TermVectorComponent.java     |  10 +-
 .../solr/index/SlowCompositeReaderWrapper.java     |  12 +-
 .../apache/solr/packagemanager/PackageManager.java |  26 +--
 .../apache/solr/packagemanager/PackageUtils.java   |  36 ++++-
 .../solr/packagemanager/RepositoryManager.java     |   2 +-
 .../org/apache/solr/schema/DenseVectorField.java   |   4 +-
 .../solr/schema/LatLonPointSpatialField.java       |   3 +-
 .../org/apache/solr/schema/RandomSortField.java    |   3 +-
 .../solr/search/CollapsingQParserPlugin.java       |   9 +-
 .../search/join/ChildFieldValueSourceParser.java   |   5 +-
 .../processor/DistributedUpdateProcessor.java      |   3 +-
 .../solr/collection1/conf/schema_codec.xml         |   2 +-
 .../src/test/org/apache/solr/cli/PostToolTest.java |  32 +++-
 .../client/solrj/impl/ConnectionReuseTest.java     |   3 +-
 .../org/apache/solr/cloud/ClusterStateTest.java    |  20 ++-
 .../apache/solr/cloud/CollectionsAPISolrJTest.java |  31 ++++
 .../apache/solr/cloud/LeaderTragicEventTest.java   |  11 +-
 .../OverseerCollectionConfigSetProcessorTest.java  |   2 +
 .../test/org/apache/solr/cloud/RouteFieldTest.java |  20 ++-
 .../test/org/apache/solr/cloud/SliceStateTest.java |   4 +-
 .../apache/solr/cloud/SolrCloudExampleTest.java    |   9 +-
 .../cloud/TestLeaderElectionWithEmptyReplica.java  |   3 +-
 .../org/apache/solr/cloud/TestPullReplica.java     |  15 +-
 .../apache/solr/cloud/TestRandomFlRTGCloud.java    |   2 +-
 .../solr/cloud/TestRandomRequestDistribution.java  |  10 +-
 .../org/apache/solr/cloud/TestTlogReplica.java     |  15 +-
 .../solr/cloud/api/collections/ShardSplitTest.java |   3 +-
 .../SimpleCollectionCreateDeleteTest.java          |   7 +-
 .../cloud/api/collections/TestCollectionAPI.java   |   6 +-
 .../solr/cloud/overseer/ZkStateReaderTest.java     |  36 ++++-
 .../solr/cloud/overseer/ZkStateWriterTest.java     | 103 +++++-------
 .../org/apache/solr/core/TestCodecSupport.java     |   2 +-
 .../apache/solr/handler/ReplicationTestHelper.java |  12 ++
 .../handler/TestHealthCheckHandlerLegacyMode.java  |   4 +-
 .../solr/handler/TestReplicationHandler.java       |  94 ++++++-----
 .../TestReplicationHandlerDiskOverFlow.java        |   8 +-
 .../solr/handler/TestStressThreadBackup.java       |   3 +-
 .../solr/handler/admin/CoreAdminHandlerTest.java   |  15 +-
 .../admin/SegmentsInfoRequestHandlerTest.java      |  29 +++-
 .../DistributedQueryElevationComponentTest.java    |   3 +-
 .../solr/handler/component/SearchHandlerTest.java  |  13 +-
 .../src/test/org/apache/solr/pkg/TestPackages.java |  25 ++-
 .../apache/solr/search/RankQueryTestPlugin.java    |   3 +-
 .../test/org/apache/solr/search/TestDocSet.java    |   2 +-
 .../apache/solr/search/TestSolrQueryParser.java    |  11 +-
 .../org/apache/solr/search/TestTaskManagement.java |  10 +-
 .../apache/solr/search/neural/KnnQParserTest.java  | 176 +++++++++++++--------
 .../solr/security/BasicAuthIntegrationTest.java    |   2 +-
 .../solr/update/DeleteByIdWithRouterFieldTest.java |   5 +-
 .../org/apache/solr/util/TestCborDataFormat.java   |   8 +-
 solr/docker/scripts/solr-demo                      |  10 +-
 solr/docker/tests/cases/create_core/test.sh        |   2 +-
 solr/docker/tests/cases/create_core_exec/test.sh   |   2 +-
 .../cases/create_core_randomuser_rootgroup/test.sh |   2 +-
 .../empty-varsolr-dir-ramdomuser-rootgroup/test.sh |   2 +-
 .../tests/cases/empty-varsolr-dir-solr/test.sh     |   2 +-
 .../tests/cases/empty-varsolr-dir-user/test.sh     |   2 +-
 .../empty-varsolr-vol-ramdomuser-rootgroup/test.sh |   2 +-
 .../cases/empty-varsolr-vol-solr-nocopy/test.sh    |   2 +-
 .../tests/cases/empty-varsolr-vol-solr/test.sh     |   2 +-
 .../tests/cases/empty-varsolr-vol-user/test.sh     |   2 +-
 solr/docker/tests/cases/gosu/test.sh               |   2 +-
 solr/docker/tests/cases/precreate_core/test.sh     |   2 +-
 .../precreate_core_randomuser_rootgroup/test.sh    |   2 +-
 solr/docker/tests/cases/test_log4j/test.sh         |   2 +-
 solr/docker/tests/cases/user_volume/test.sh        |   2 +-
 solr/example/README.md                             |   4 +-
 solr/example/exampledocs/utf8-example.xml          |   3 +-
 .../licenses/lucene-analysis-common-9.8.0.jar.sha1 |   1 -
 .../licenses/lucene-analysis-common-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1   |   1 -
 solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1   |   1 +
 .../lucene-analysis-kuromoji-9.8.0.jar.sha1        |   1 -
 .../lucene-analysis-kuromoji-9.9.2.jar.sha1        |   1 +
 .../lucene-analysis-morfologik-9.8.0.jar.sha1      |   1 -
 .../lucene-analysis-morfologik-9.9.2.jar.sha1      |   1 +
 solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1  |   1 -
 solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1  |   1 +
 .../lucene-analysis-opennlp-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-opennlp-9.9.2.jar.sha1         |   1 +
 .../lucene-analysis-phonetic-9.8.0.jar.sha1        |   1 -
 .../lucene-analysis-phonetic-9.9.2.jar.sha1        |   1 +
 .../lucene-analysis-smartcn-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-smartcn-9.9.2.jar.sha1         |   1 +
 .../lucene-analysis-stempel-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-stempel-9.9.2.jar.sha1         |   1 +
 .../licenses/lucene-backward-codecs-9.8.0.jar.sha1 |   1 -
 .../licenses/lucene-backward-codecs-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-classification-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-classification-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-codecs-9.8.0.jar.sha1         |   1 -
 solr/licenses/lucene-codecs-9.9.2.jar.sha1         |   1 +
 solr/licenses/lucene-core-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-core-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-expressions-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-expressions-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-grouping-9.8.0.jar.sha1       |   1 -
 solr/licenses/lucene-grouping-9.9.2.jar.sha1       |   1 +
 solr/licenses/lucene-highlighter-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-highlighter-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-join-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-join-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-memory-9.8.0.jar.sha1         |   1 -
 solr/licenses/lucene-memory-9.9.2.jar.sha1         |   1 +
 solr/licenses/lucene-misc-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-misc-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-queries-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-queries-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-queryparser-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-queryparser-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-sandbox-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-sandbox-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-spatial3d-9.8.0.jar.sha1      |   1 -
 solr/licenses/lucene-spatial3d-9.9.2.jar.sha1      |   1 +
 solr/licenses/lucene-suggest-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-suggest-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-test-framework-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-test-framework-9.9.2.jar.sha1 |   1 +
 .../hadoop/TestImpersonationWithHadoopAuth.java    |   3 +-
 .../TestSolrCloudWithSecureImpersonation.java      |   3 +-
 .../org/apache/solr/hdfs/cloud/StressHdfsTest.java |   3 +-
 solr/packaging/test/test_post.bats                 |  13 +-
 .../src/test-files/exampledocs/utf8-example.xml    |   3 +-
 .../solr/configsets/_default/conf/solrconfig.xml   |   2 +-
 .../conf/solrconfig.xml                            |   2 +-
 .../pages/collection-management.adoc               |   1 +
 .../deployment-guide/pages/docker-networking.adoc  |   2 +-
 .../deployment-guide/pages/installing-solr.adoc    |   4 +-
 .../getting-started/pages/tutorial-diy.adoc        |  14 +-
 .../getting-started/pages/tutorial-films.adoc      |  10 +-
 .../pages/tutorial-techproducts.adoc               |   7 +-
 .../indexing-guide/pages/indexing-with-tika.adoc   |  14 +-
 .../modules/indexing-guide/pages/post-tool.adoc    |  14 +-
 .../query-guide/pages/dense-vector-search.adoc     |  12 +-
 .../modules/query-guide/pages/spatial-search.adoc  |   4 +-
 .../modules/query-guide/pages/tagger-handler.adoc  |   4 +-
 .../solr/client/solrj/io/SolrClientCache.java      |  27 +++-
 .../solrj/impl/ZkClientClusterStateProvider.java   |  10 +-
 .../org/apache/solr/common/cloud/SolrZkClient.java |  21 +++
 .../apache/solr/common/cloud/ZkStateReader.java    |  10 +-
 .../apache/solr/common/cloud/SolrZkClientTest.java |  32 ++++
 .../solrj/impl/BaseHttpClusterStateProvider.java   |  14 +-
 .../solrj/impl/ConcurrentUpdateSolrClient.java     |  14 +-
 .../solr/client/solrj/impl/LBHttpSolrClient.java   |  15 +-
 .../client/solrj/request/GenericSolrRequest.java   |  32 ++++
 .../org/apache/solr/common/cloud/ClusterState.java |  30 +++-
 .../apache/solr/common/cloud/DocCollection.java    |  31 +++-
 .../org/apache/solr/common/util/ExecutorUtil.java  |  15 +-
 .../java/org/apache/solr/common/util/URLUtil.java  |  15 ++
 .../solr/client/solrj/SolrExampleTestsBase.java    |   2 +-
 .../solrj/impl/CloudSolrClientCacheTest.java       |   4 +-
 .../solrj/impl/ClusterStateProviderTest.java       | 120 ++++++++++++++
 .../client/solrj/impl/Http2SolrClientTest.java     |   7 +-
 .../apache/solr/common/cloud/ReplicaCountTest.java |   2 +
 .../apache/solr/handler/BackupStatusChecker.java   |   2 +
 .../apache/solr/schema/SortableBinaryField.java    |   5 +-
 versions.lock                                      |  54 +++----
 versions.props                                     |   2 +-
 181 files changed, 1187 insertions(+), 506 deletions(-)
 delete mode 100644 solr/licenses/lucene-analysis-common-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-common-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-kuromoji-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-kuromoji-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-morfologik-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-morfologik-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-opennlp-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-opennlp-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-phonetic-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-phonetic-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-smartcn-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-smartcn-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-analysis-stempel-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-analysis-stempel-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-backward-codecs-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-backward-codecs-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-classification-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-classification-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-codecs-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-codecs-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-core-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-core-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-expressions-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-expressions-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-grouping-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-grouping-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-highlighter-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-highlighter-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-join-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-join-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-memory-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-memory-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-misc-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-misc-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-queries-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-queries-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-queryparser-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-queryparser-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-sandbox-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-sandbox-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-spatial3d-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-spatial3d-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-suggest-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-suggest-9.9.2.jar.sha1
 delete mode 100644 solr/licenses/lucene-test-framework-9.8.0.jar.sha1
 create mode 100644 solr/licenses/lucene-test-framework-9.9.2.jar.sha1
 create mode 100644 solr/solrj/src/test/org/apache/solr/client/solrj/impl/ClusterStateProviderTest.java


(solr) 03/03: Merge remote-tracking branch 'origin/main' into jira/SOLR-16858

Posted by ho...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hossman pushed a commit to branch jira/SOLR-16858
in repository https://gitbox.apache.org/repos/asf/solr.git

commit c5587492b6509ccb8a6f0f18aa55e28115522e70
Merge: f101b1c9dcd 21d97ed3a0d
Author: Chris Hostetter <ho...@apache.org>
AuthorDate: Mon Feb 5 16:32:40 2024 -0700

    Merge remote-tracking branch 'origin/main' into jira/SOLR-16858

 .github/workflows/labeler.yml                      |   4 +-
 .github/workflows/tests-via-crave.yml              |   6 +-
 dev-tools/scripts/smokeTestRelease.py              |   2 +-
 solr/CHANGES.txt                                   |  20 +++-
 .../src/java/org/apache/solr/cli/ExportTool.java   |  21 ++--
 .../src/java/org/apache/solr/cli/PostTool.java     |  22 +++-
 .../java/org/apache/solr/cli/SimplePostTool.java   |   3 -
 .../core/src/java/org/apache/solr/cli/SolrCLI.java |   2 +-
 .../solr/cloud/DistributedClusterStateUpdater.java |   4 +-
 .../solr/cloud/overseer/ClusterStateMutator.java   |  12 ++-
 .../solr/cloud/overseer/CollectionMutator.java     |   1 +
 .../apache/solr/cloud/overseer/ZkStateWriter.java  |   6 +-
 .../org/apache/solr/core/SchemaCodecFactory.java   |  10 +-
 .../src/java/org/apache/solr/core/SolrCore.java    |   4 +-
 .../org/apache/solr/core/backup/BackupManager.java |   6 +-
 .../apache/solr/handler/admin/ClusterStatus.java   |   2 +
 .../org/apache/solr/handler/admin/ColStatus.java   |   1 +
 .../handler/admin/SegmentsInfoRequestHandler.java  |   1 +
 .../solr/handler/component/QueryComponent.java     |   8 +-
 .../handler/component/QueryElevationComponent.java |   3 +-
 .../component/ShardFieldSortedHitQueue.java        |   5 +-
 .../handler/component/TermVectorComponent.java     |  10 +-
 .../solr/index/SlowCompositeReaderWrapper.java     |  12 ++-
 .../apache/solr/packagemanager/PackageManager.java |  26 +++--
 .../apache/solr/packagemanager/PackageUtils.java   |  36 ++++++-
 .../solr/packagemanager/RepositoryManager.java     |   2 +-
 .../org/apache/solr/schema/DenseVectorField.java   |   4 +-
 .../solr/schema/LatLonPointSpatialField.java       |   3 +-
 .../org/apache/solr/schema/RandomSortField.java    |   3 +-
 .../solr/search/CollapsingQParserPlugin.java       |   9 +-
 .../search/join/ChildFieldValueSourceParser.java   |   5 +-
 .../processor/DistributedUpdateProcessor.java      |   3 +-
 .../solr/collection1/conf/schema_codec.xml         |   2 +-
 .../src/test/org/apache/solr/cli/PostToolTest.java |  32 +++++-
 .../client/solrj/impl/ConnectionReuseTest.java     |   3 +-
 .../org/apache/solr/cloud/ClusterStateTest.java    |  20 +++-
 .../apache/solr/cloud/CollectionsAPISolrJTest.java |  31 ++++++
 .../apache/solr/cloud/LeaderTragicEventTest.java   |  11 +-
 .../OverseerCollectionConfigSetProcessorTest.java  |   2 +
 .../test/org/apache/solr/cloud/RouteFieldTest.java |  20 ++--
 .../test/org/apache/solr/cloud/SliceStateTest.java |   4 +-
 .../apache/solr/cloud/SolrCloudExampleTest.java    |   9 +-
 .../cloud/TestLeaderElectionWithEmptyReplica.java  |   3 +-
 .../org/apache/solr/cloud/TestPullReplica.java     |  15 ++-
 .../apache/solr/cloud/TestRandomFlRTGCloud.java    |   2 +-
 .../solr/cloud/TestRandomRequestDistribution.java  |  10 +-
 .../org/apache/solr/cloud/TestTlogReplica.java     |  15 ++-
 .../solr/cloud/api/collections/ShardSplitTest.java |   3 +-
 .../SimpleCollectionCreateDeleteTest.java          |   7 +-
 .../cloud/api/collections/TestCollectionAPI.java   |   6 +-
 .../solr/cloud/overseer/ZkStateReaderTest.java     |  36 +++++--
 .../solr/cloud/overseer/ZkStateWriterTest.java     | 103 +++++++-----------
 .../org/apache/solr/core/TestCodecSupport.java     |   2 +-
 .../apache/solr/handler/ReplicationTestHelper.java |  12 +++
 .../handler/TestHealthCheckHandlerLegacyMode.java  |   4 +-
 .../solr/handler/TestReplicationHandler.java       |  94 ++++++++--------
 .../TestReplicationHandlerDiskOverFlow.java        |   8 +-
 .../solr/handler/TestStressThreadBackup.java       |   3 +-
 .../solr/handler/admin/CoreAdminHandlerTest.java   |  15 ++-
 .../admin/SegmentsInfoRequestHandlerTest.java      |  29 ++++-
 .../DistributedQueryElevationComponentTest.java    |   3 +-
 .../solr/handler/component/SearchHandlerTest.java  |  13 ++-
 .../src/test/org/apache/solr/pkg/TestPackages.java |  25 +++--
 .../apache/solr/search/RankQueryTestPlugin.java    |   3 +-
 .../test/org/apache/solr/search/TestDocSet.java    |   2 +-
 .../apache/solr/search/TestSolrQueryParser.java    |  11 +-
 .../org/apache/solr/search/TestTaskManagement.java |  10 +-
 .../solr/security/BasicAuthIntegrationTest.java    |   2 +-
 .../solr/update/DeleteByIdWithRouterFieldTest.java |   5 +-
 .../org/apache/solr/util/TestCborDataFormat.java   |   8 +-
 solr/docker/scripts/solr-demo                      |  10 +-
 solr/docker/tests/cases/create_core/test.sh        |   2 +-
 solr/docker/tests/cases/create_core_exec/test.sh   |   2 +-
 .../cases/create_core_randomuser_rootgroup/test.sh |   2 +-
 .../empty-varsolr-dir-ramdomuser-rootgroup/test.sh |   2 +-
 .../tests/cases/empty-varsolr-dir-solr/test.sh     |   2 +-
 .../tests/cases/empty-varsolr-dir-user/test.sh     |   2 +-
 .../empty-varsolr-vol-ramdomuser-rootgroup/test.sh |   2 +-
 .../cases/empty-varsolr-vol-solr-nocopy/test.sh    |   2 +-
 .../tests/cases/empty-varsolr-vol-solr/test.sh     |   2 +-
 .../tests/cases/empty-varsolr-vol-user/test.sh     |   2 +-
 solr/docker/tests/cases/gosu/test.sh               |   2 +-
 solr/docker/tests/cases/precreate_core/test.sh     |   2 +-
 .../precreate_core_randomuser_rootgroup/test.sh    |   2 +-
 solr/docker/tests/cases/test_log4j/test.sh         |   2 +-
 solr/docker/tests/cases/user_volume/test.sh        |   2 +-
 solr/example/README.md                             |   4 +-
 solr/example/exampledocs/utf8-example.xml          |   3 +-
 .../licenses/lucene-analysis-common-9.8.0.jar.sha1 |   1 -
 .../licenses/lucene-analysis-common-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-analysis-icu-9.8.0.jar.sha1   |   1 -
 solr/licenses/lucene-analysis-icu-9.9.2.jar.sha1   |   1 +
 .../lucene-analysis-kuromoji-9.8.0.jar.sha1        |   1 -
 .../lucene-analysis-kuromoji-9.9.2.jar.sha1        |   1 +
 .../lucene-analysis-morfologik-9.8.0.jar.sha1      |   1 -
 .../lucene-analysis-morfologik-9.9.2.jar.sha1      |   1 +
 solr/licenses/lucene-analysis-nori-9.8.0.jar.sha1  |   1 -
 solr/licenses/lucene-analysis-nori-9.9.2.jar.sha1  |   1 +
 .../lucene-analysis-opennlp-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-opennlp-9.9.2.jar.sha1         |   1 +
 .../lucene-analysis-phonetic-9.8.0.jar.sha1        |   1 -
 .../lucene-analysis-phonetic-9.9.2.jar.sha1        |   1 +
 .../lucene-analysis-smartcn-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-smartcn-9.9.2.jar.sha1         |   1 +
 .../lucene-analysis-stempel-9.8.0.jar.sha1         |   1 -
 .../lucene-analysis-stempel-9.9.2.jar.sha1         |   1 +
 .../licenses/lucene-backward-codecs-9.8.0.jar.sha1 |   1 -
 .../licenses/lucene-backward-codecs-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-classification-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-classification-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-codecs-9.8.0.jar.sha1         |   1 -
 solr/licenses/lucene-codecs-9.9.2.jar.sha1         |   1 +
 solr/licenses/lucene-core-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-core-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-expressions-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-expressions-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-grouping-9.8.0.jar.sha1       |   1 -
 solr/licenses/lucene-grouping-9.9.2.jar.sha1       |   1 +
 solr/licenses/lucene-highlighter-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-highlighter-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-join-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-join-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-memory-9.8.0.jar.sha1         |   1 -
 solr/licenses/lucene-memory-9.9.2.jar.sha1         |   1 +
 solr/licenses/lucene-misc-9.8.0.jar.sha1           |   1 -
 solr/licenses/lucene-misc-9.9.2.jar.sha1           |   1 +
 solr/licenses/lucene-queries-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-queries-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-queryparser-9.8.0.jar.sha1    |   1 -
 solr/licenses/lucene-queryparser-9.9.2.jar.sha1    |   1 +
 solr/licenses/lucene-sandbox-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-sandbox-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-spatial-extras-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-spatial-extras-9.9.2.jar.sha1 |   1 +
 solr/licenses/lucene-spatial3d-9.8.0.jar.sha1      |   1 -
 solr/licenses/lucene-spatial3d-9.9.2.jar.sha1      |   1 +
 solr/licenses/lucene-suggest-9.8.0.jar.sha1        |   1 -
 solr/licenses/lucene-suggest-9.9.2.jar.sha1        |   1 +
 solr/licenses/lucene-test-framework-9.8.0.jar.sha1 |   1 -
 solr/licenses/lucene-test-framework-9.9.2.jar.sha1 |   1 +
 .../hadoop/TestImpersonationWithHadoopAuth.java    |   3 +-
 .../TestSolrCloudWithSecureImpersonation.java      |   3 +-
 .../org/apache/solr/hdfs/cloud/StressHdfsTest.java |   3 +-
 solr/packaging/test/test_post.bats                 |  13 ++-
 .../src/test-files/exampledocs/utf8-example.xml    |   3 +-
 .../solr/configsets/_default/conf/solrconfig.xml   |   2 +-
 .../conf/solrconfig.xml                            |   2 +-
 .../pages/collection-management.adoc               |   1 +
 .../deployment-guide/pages/docker-networking.adoc  |   2 +-
 .../deployment-guide/pages/installing-solr.adoc    |   4 +-
 .../getting-started/pages/tutorial-diy.adoc        |  14 +--
 .../getting-started/pages/tutorial-films.adoc      |  10 +-
 .../pages/tutorial-techproducts.adoc               |   7 +-
 .../indexing-guide/pages/indexing-with-tika.adoc   |  14 +--
 .../modules/indexing-guide/pages/post-tool.adoc    |  14 +--
 .../modules/query-guide/pages/spatial-search.adoc  |   4 +-
 .../modules/query-guide/pages/tagger-handler.adoc  |   4 +-
 .../solr/client/solrj/io/SolrClientCache.java      |  27 ++++-
 .../solrj/impl/ZkClientClusterStateProvider.java   |  10 +-
 .../org/apache/solr/common/cloud/SolrZkClient.java |  21 ++++
 .../apache/solr/common/cloud/ZkStateReader.java    |  10 +-
 .../apache/solr/common/cloud/SolrZkClientTest.java |  32 ++++++
 .../solrj/impl/BaseHttpClusterStateProvider.java   |  14 ++-
 .../solrj/impl/ConcurrentUpdateSolrClient.java     |  14 ++-
 .../solr/client/solrj/impl/LBHttpSolrClient.java   |  15 ++-
 .../client/solrj/request/GenericSolrRequest.java   |  32 ++++++
 .../org/apache/solr/common/cloud/ClusterState.java |  30 ++++--
 .../apache/solr/common/cloud/DocCollection.java    |  31 ++++--
 .../org/apache/solr/common/util/ExecutorUtil.java  |  15 ++-
 .../java/org/apache/solr/common/util/URLUtil.java  |  15 +++
 .../solr/client/solrj/SolrExampleTestsBase.java    |   2 +-
 .../solrj/impl/CloudSolrClientCacheTest.java       |   4 +-
 .../solrj/impl/ClusterStateProviderTest.java       | 120 +++++++++++++++++++++
 .../client/solrj/impl/Http2SolrClientTest.java     |   7 +-
 .../apache/solr/common/cloud/ReplicaCountTest.java |   2 +
 .../apache/solr/handler/BackupStatusChecker.java   |   2 +
 .../apache/solr/schema/SortableBinaryField.java    |   5 +-
 versions.lock                                      |  54 +++++-----
 versions.props                                     |   2 +-
 179 files changed, 1070 insertions(+), 435 deletions(-)


(solr) 02/03: split up some tests

Posted by ho...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hossman pushed a commit to branch jira/SOLR-16858
in repository https://gitbox.apache.org/repos/asf/solr.git

commit f101b1c9dcd012c166f735133646dbe2e3a52426
Author: Chris Hostetter <ho...@apache.org>
AuthorDate: Mon Feb 5 15:59:24 2024 -0700

    split up some tests
---
 .../apache/solr/search/neural/KnnQParserTest.java  | 176 +++++++++++++--------
 1 file changed, 111 insertions(+), 65 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java b/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java
index 12dd843b05d..696fca5f394 100644
--- a/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/neural/KnnQParserTest.java
@@ -469,6 +469,11 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
             "id"),
         "//result[@numFound='1']",
         "//result/doc[1]/str[@name='id'][.='4']");
+  }
+
+  @Test
+  public void knnQueryUsedInFiltersWithPreFilter_shouldFilterResultsBeforeTheQueryExecution() {
+    String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
 
     // topK=4 w/localparam preFilter -> 1,4,7,9
     assertQ(
@@ -484,6 +489,11 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
         "//result[@numFound='2']",
         "//result/doc[1]/str[@name='id'][.='4']",
         "//result/doc[2]/str[@name='id'][.='9']");
+  }
+
+  @Test
+  public void knnQueryUsedInFilters_rejectIncludeExclude() {
+    String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
 
     for (String fq :
         Arrays.asList(
@@ -518,6 +528,12 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
         "//result/doc[2]/str[@name='id'][.='2']",
         "//result/doc[3]/str[@name='id'][.='3']",
         "//result/doc[4]/str[@name='id'][.='8']");
+  }
+
+  @Test
+  public void knnQueryAsSubQuery_withPreFilter() {
+    final SolrParams common = params("fl", "id", "vec", "[1.0, 2.0, 3.0, 4.0]");
+    final String filt = "id:(2 4 7 9 8 20 3)";
 
     // knn subquery should still accept `preFilter` local param
     // filt -> topK -> 4,2,3,7,9
@@ -530,8 +546,7 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
         "//result/doc[4]/str[@name='id'][.='7']",
         "//result/doc[5]/str[@name='id'][.='9']");
 
-    // knn subquery should still accept `preFilter` local param, and not pre-filter on any global fq
-    // params
+    // it should not pre-filter on any global fq params
     // filt -> topK -> 4,2,3,7,9 -> fq -> 3,9
     assertQ(
         req(
@@ -555,6 +570,11 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
         "//result/doc[1]/str[@name='id'][.='8']",
         "//result/doc[2]/str[@name='id'][.='3']",
         "//result/doc[3]/str[@name='id'][.='9']");
+  }
+
+  @Test
+  public void knnQueryAsSubQuery_rejectIncludeExclude() {
+    final SolrParams common = params("fl", "id", "vec", "[1.0, 2.0, 3.0, 4.0]");
 
     for (String knn :
         Arrays.asList(
@@ -569,74 +589,80 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
   }
 
   @Test
-  public void knnQueryWithFilterQuery_shouldPerformKnnSearchInPreFilteredResults() {
+  public void knnQueryWithFilterQuery_singlePreFilterEquivilence() {
     final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
     final SolrParams common = params("fl", "id");
 
-    { // these requests should be equivilent
-      final String filt = "id:(1 2 7 20)";
-      for (SolrQueryRequest req :
-          Arrays.asList(
-              req(common, "q", "{!knn f=vector topK=10}" + vectorToSearch, "fq", filt),
-              req(
-                  common,
-                  "q",
-                  "{!knn f=vector preFilter=\"" + filt + "\" topK=10}" + vectorToSearch),
-              req(
-                  common,
-                  "q",
-                  "{!knn f=vector preFilter=$my_filt topK=10}" + vectorToSearch,
-                  "my_filt",
-                  filt))) {
-        assertQ(
-            req,
-            "//result[@numFound='3']",
-            "//result/doc[1]/str[@name='id'][.='1']",
-            "//result/doc[2]/str[@name='id'][.='2']",
-            "//result/doc[3]/str[@name='id'][.='7']");
-      }
+    // these requests should be equivilent
+    final String filt = "id:(1 2 7 20)";
+    for (SolrQueryRequest req :
+        Arrays.asList(
+            req(common, "q", "{!knn f=vector topK=10}" + vectorToSearch, "fq", filt),
+            req(common, "q", "{!knn f=vector preFilter=\"" + filt + "\" topK=10}" + vectorToSearch),
+            req(
+                common,
+                "q",
+                "{!knn f=vector preFilter=$my_filt topK=10}" + vectorToSearch,
+                "my_filt",
+                filt))) {
+      assertQ(
+          req,
+          "//result[@numFound='3']",
+          "//result/doc[1]/str[@name='id'][.='1']",
+          "//result/doc[2]/str[@name='id'][.='2']",
+          "//result/doc[3]/str[@name='id'][.='7']");
     }
+  }
 
-    { // these requests should be equivilent
-      final String fx = "id:(3 4 9 2 1 )"; // 1 & 10 dropped from intersection
-      final String fy = "id:(3 4 9 2 10)";
-      for (SolrQueryRequest req :
-          Arrays.asList(
-              req(common, "q", "{!knn f=vector topK=4}" + vectorToSearch, "fq", fx, "fq", fy),
-              req(
-                  common,
-                  "q",
-                  "{!knn f=vector preFilter=\""
-                      + fx
-                      + "\" preFilter=\""
-                      + fy
-                      + "\" topK=4}"
-                      + vectorToSearch),
-              req(
-                  common,
-                  "q",
-                  "{!knn f=vector preFilter=$fx preFilter=$fy topK=4}" + vectorToSearch,
-                  "fx",
-                  fx,
-                  "fy",
-                  fy),
-              req(
-                  common,
-                  "q",
-                  "{!knn f=vector preFilter=$multi_filt topK=4}" + vectorToSearch,
-                  "multi_filt",
-                  fx,
-                  "multi_filt",
-                  fy))) {
-        assertQ(
-            req,
-            "//result[@numFound='4']",
-            "//result/doc[1]/str[@name='id'][.='4']",
-            "//result/doc[2]/str[@name='id'][.='2']",
-            "//result/doc[3]/str[@name='id'][.='3']",
-            "//result/doc[4]/str[@name='id'][.='9']");
-      }
+  @Test
+  public void knnQueryWithFilterQuery_multiPreFilterEquivilence() {
+    final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
+    final SolrParams common = params("fl", "id");
+
+    // these requests should be equivilent
+    final String fx = "id:(3 4 9 2 1 )"; // 1 & 10 dropped from intersection
+    final String fy = "id:(3 4 9 2 10)";
+    for (SolrQueryRequest req :
+        Arrays.asList(
+            req(common, "q", "{!knn f=vector topK=4}" + vectorToSearch, "fq", fx, "fq", fy),
+            req(
+                common,
+                "q",
+                "{!knn f=vector preFilter=\""
+                    + fx
+                    + "\" preFilter=\""
+                    + fy
+                    + "\" topK=4}"
+                    + vectorToSearch),
+            req(
+                common,
+                "q",
+                "{!knn f=vector preFilter=$fx preFilter=$fy topK=4}" + vectorToSearch,
+                "fx",
+                fx,
+                "fy",
+                fy),
+            req(
+                common,
+                "q",
+                "{!knn f=vector preFilter=$multi_filt topK=4}" + vectorToSearch,
+                "multi_filt",
+                fx,
+                "multi_filt",
+                fy))) {
+      assertQ(
+          req,
+          "//result[@numFound='4']",
+          "//result/doc[1]/str[@name='id'][.='4']",
+          "//result/doc[2]/str[@name='id'][.='2']",
+          "//result/doc[3]/str[@name='id'][.='3']",
+          "//result/doc[4]/str[@name='id'][.='9']");
     }
+  }
+
+  @Test
+  public void knnQueryWithPreFilter_rejectIncludeExclude() {
+    final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
 
     assertQEx(
         "knn preFilter localparm incompatible with include/exclude localparams",
@@ -653,7 +679,7 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
   }
 
   @Test
-  public void knnQueryWithFilterQuery_localParamOverridesGlobalFilters() {
+  public void knnQueryWithFilterQuery_preFilterLocalParamOverridesGlobalFilters() {
     final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
 
     // trivial case: empty preFilter localparam means no pre-filtering
@@ -718,6 +744,16 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
           "//result/doc[2]/str[@name='id'][.='5']",
           "//result/doc[3]/str[@name='id'][.='6']");
     }
+  }
+
+  @Test
+  public void knnQueryWithFilterQuery_localParamsDisablesAllPreFiltering() {
+    final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
+    final SolrParams common =
+        params(
+            "fl", "id",
+            "fq", "{!tag=xx,aa}id:(5 6 7 8 9 10)",
+            "fq", "{!tag=yy,aa}id:(1 2 3 4 5 6 7)");
 
     // These req's are equivilent: pre-filter nothing
     // So 1,4,2,10,3,7 are the topK=6
@@ -756,6 +792,16 @@ public class KnnQParserTest extends SolrTestCaseJ4 {
             req(common, "q", "{!knn f=vector excludeTags=xx,yy,bogus topK=6}" + vectorToSearch))) {
       assertQ(req, "//result[@numFound='1']", "//result/doc[1]/str[@name='id'][.='7']");
     }
+  }
+
+  @Test
+  public void knnQueryWithFilterQuery_localParamCombinedIncludeExcludeTags() {
+    final String vectorToSearch = "[1.0, 2.0, 3.0, 4.0]";
+    final SolrParams common =
+        params(
+            "fl", "id",
+            "fq", "{!tag=xx,aa}id:(5 6 7 8 9 10)",
+            "fq", "{!tag=yy,aa}id:(1 2 3 4 5 6 7)");
 
     // These req's are equivilent: prefilter only the 'yy' fq
     // So 1,4,2,3,7 are in the topK=5.


(solr) 01/03: Doc cleanup. Some typos, but also changing 'may not' to 'must not' for better clarity

Posted by ho...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hossman pushed a commit to branch jira/SOLR-16858
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 7b0e5ebaa310211d4971dc4ab2f4b00ecffe1ab9
Author: Chris Hostetter <ho...@apache.org>
AuthorDate: Mon Feb 5 14:49:44 2024 -0700

    Doc cleanup. Some typos, but also changing 'may not' to 'must not' for better clarity
---
 .../modules/query-guide/pages/dense-vector-search.adoc       | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc b/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
index 4380235ebfd..ac96ef827bf 100644
--- a/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
+++ b/solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc
@@ -240,7 +240,7 @@ client.add(Arrays.asList(d1, d2));
 This is the Apache Solr query approach designed to support dense vector search:
 
 === knn Query Parser
-The `knn` k-nearest neighbors query parser allows to find the k-nearest documents to the target vector according to indexed dense vectors in the given field.  The set of documents can be Pre-Riltered to reduce the number of vector distance calculations that must be computed, and ensure the best `topK` are returned.
+The `knn` k-nearest neighbors query parser allows to find the k-nearest documents to the target vector according to indexed dense vectors in the given field.  The set of documents can be Pre-Filtered to reduce the number of vector distance calculations that must be computed, and ensure the best `topK` are returned.
 
 The score for a retrieved document is the approximate distance to the target vector(defined by the similarityFunction configured at indexing time).
 
@@ -280,7 +280,7 @@ Specifies an explicit list of Pre-Filter query strings to use.
 |Optional |Default: none
 |===
 +
-Indicates that only `fq` filters with the specified `tag` should be considered for implicit Pre-Filtering.  May not be combind with `preFilter`.
+Indicates that only `fq` filters with the specified `tag` should be considered for implicit Pre-Filtering.  Must not be combined with `preFilter`.
 
 
 `excludeTags`::
@@ -290,7 +290,7 @@ Indicates that only `fq` filters with the specified `tag` should be considered f
 |Optional |Default: none
 |===
 +
-Indicates that `fq` filters with the specified `tag` should be excluded from consideration for implicit Pre-Filtering.  May not be combind with `preFilter`.
+Indicates that `fq` filters with the specified `tag` should be excluded from consideration for implicit Pre-Filtering.  Must not be combined with `preFilter`.
 
 
 Here's how to run a simple KNN search:
@@ -312,7 +312,7 @@ In the above example, only documents matching the Pre-Filter `inStock:true` will
 
 The `preFilter` parameter may be blank (ex: `preFilter=""`) to indicate that no Pre-Filtering should be performed; or it may be multi-valued -- either through repetition, or via duplicated xref:local-params.adoc#parameter-dereferencing[Parameter References].
 
-These two examples are equivilent:
+These two examples are equivalent:
 
 [source,text]
 ?q={!knn f=vector topK=10 preFilter=category:AAA preFilter=inStock:true}[1.0, 2.0, 3.0, 4.0]
@@ -332,7 +332,7 @@ While the `preFilter` parameter may be explicitly specified on *_any_* usage of
 ** This default behavior optimizes the number of vector distance calculations considered, eliminating documents that would eventually be excluded by an `fq` filter anyway.
 ** `includeTags` and `excludeTags` may be used to limit the set of `fq` filters used in the Pre-Filter.
 * When used as an `fq` param, or as a subquery clause in a larger query: No implicit Pre-Filter is used.
-** `includeTags` and `excludeTags` may not be used in these situations.
+** `includeTags` and `excludeTags` must not be used in these situations.
 
 
 The example request below shows two usages of the `knn` query parser that will get _no_ implicit Pre-Filtering from any of the `fq` parameters, because neither usage is as the main `q` param:
@@ -366,7 +366,7 @@ If we modify the above request to add tags to the `fq` parameters, we can specif
 In this example, only the `inStock:true` filter will be used for KNN Pre-Filtering to find the the `topK=10` documents, and the `category:AAA` filter will be applied independently; possibly resulting in less then 10 total matches.
 
 
-Some use case where `includeTags` and/or `excludeTags` may be more useful then an explicit `preFilter` parameters:
+Some use cases where `includeTags` and/or `excludeTags` may be more useful then an explicit `preFilter` parameters:
 
 * You have some `fq` parameters that are xref:configuration-guide:requesthandlers-searchcomponents.adoc#paramsets-and-useparams[re-used on many requests] (even when you don't use the `knn` parser) that you wish to be used as KNN Pre-Filters when you _do_ use the `knn` query parser.
 * You typically want all `fq` params to be used as KNN Pre-Filters, but when users "drill down" on Facets, you want the `fq` parameters you add to be excluded from the KNN Pre-Filtering so that the result set gets smaller; instead of just computing a new `topK` set.