You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by to...@apache.org on 2022/05/14 03:01:24 UTC

[lucene] branch main updated: LUCENE-10561 Reduce class/member visibility of all normalizer and stemmer classes (#883)

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

tomoko pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/main by this push:
     new 694d797526a LUCENE-10561 Reduce class/member visibility of all normalizer and stemmer classes (#883)
694d797526a is described below

commit 694d797526ae1d9dbe65c69eaa52d5531824c560
Author: Rushabh Shah <sh...@gmail.com>
AuthorDate: Fri May 13 20:01:19 2022 -0700

    LUCENE-10561 Reduce class/member visibility of all normalizer and stemmer classes (#883)
    
    Co-authored-by: Rushabh Shah <sh...@apache.org>
    Co-authored-by: Tomoko Uchida <to...@gmail.com>
---
 lucene/CHANGES.txt                                 |  2 ++
 lucene/MIGRATE.md                                  |  5 +++
 .../lucene/analysis/ar/ArabicNormalizer.java       | 38 +++++++++++-----------
 .../apache/lucene/analysis/ar/ArabicStemmer.java   | 34 +++++++++----------
 .../lucene/analysis/bg/BulgarianStemmer.java       |  4 +--
 .../lucene/analysis/bn/BengaliNormalizer.java      |  4 +--
 .../apache/lucene/analysis/bn/BengaliStemmer.java  |  4 +--
 .../lucene/analysis/br/BrazilianStemmer.java       |  4 +--
 .../lucene/analysis/ckb/SoraniNormalizer.java      |  4 +--
 .../apache/lucene/analysis/ckb/SoraniStemmer.java  |  4 +--
 .../apache/lucene/analysis/cz/CzechStemmer.java    |  4 +--
 .../lucene/analysis/de/GermanLightStemmer.java     |  4 +--
 .../lucene/analysis/de/GermanMinimalStemmer.java   |  4 +--
 .../apache/lucene/analysis/de/GermanStemmer.java   |  2 +-
 .../apache/lucene/analysis/el/GreekStemmer.java    |  4 +--
 .../lucene/analysis/en/EnglishMinimalStemmer.java  |  4 +--
 .../org/apache/lucene/analysis/en/KStemmer.java    |  2 +-
 .../lucene/analysis/es/SpanishLightStemmer.java    |  4 +--
 .../lucene/analysis/es/SpanishMinimalStemmer.java  |  4 +--
 .../lucene/analysis/es/SpanishPluralStemmer.java   |  4 +--
 .../lucene/analysis/fa/PersianNormalizer.java      | 22 ++++++-------
 .../apache/lucene/analysis/fa/PersianStemmer.java  |  4 +--
 .../lucene/analysis/fi/FinnishLightStemmer.java    |  4 +--
 .../lucene/analysis/fr/FrenchLightStemmer.java     |  4 +--
 .../lucene/analysis/fr/FrenchMinimalStemmer.java   |  4 +--
 .../lucene/analysis/gl/GalicianMinimalStemmer.java |  4 +--
 .../apache/lucene/analysis/gl/GalicianStemmer.java |  4 +--
 .../apache/lucene/analysis/hi/HindiNormalizer.java |  4 +--
 .../apache/lucene/analysis/hi/HindiStemmer.java    |  4 +--
 .../lucene/analysis/hu/HungarianLightStemmer.java  |  4 +--
 .../lucene/analysis/id/IndonesianStemmer.java      |  4 +--
 .../apache/lucene/analysis/in/IndicNormalizer.java |  4 +--
 .../lucene/analysis/it/ItalianLightStemmer.java    |  4 +--
 .../apache/lucene/analysis/lv/LatvianStemmer.java  |  4 +--
 .../lucene/analysis/no/NorwegianLightStemmer.java  | 10 +++---
 .../analysis/no/NorwegianMinimalStemmer.java       |  6 ++--
 .../lucene/analysis/pt/PortugueseLightStemmer.java |  4 +--
 .../analysis/pt/PortugueseMinimalStemmer.java      |  4 +--
 .../lucene/analysis/pt/PortugueseStemmer.java      |  4 +--
 .../lucene/analysis/ru/RussianLightStemmer.java    |  4 +--
 .../lucene/analysis/sv/SwedishLightStemmer.java    |  4 +--
 .../lucene/analysis/sv/SwedishMinimalStemmer.java  |  4 +--
 .../lucene/analysis/te/TeluguNormalizer.java       |  4 +--
 .../apache/lucene/analysis/te/TeluguStemmer.java   |  4 +--
 44 files changed, 134 insertions(+), 127 deletions(-)

diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 99e4e19fbc6..e5bba1efd56 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -25,6 +25,8 @@ API Changes
 * LUCENE-10436: Remove deprecated DocValuesFieldExistsQuery, NormsFieldExistsQuery and
   KnnVectorFieldExistsQuery. (Zach Chen, Adrien Grand)
 
+* LUCENE-10561 Reduce class/member visibility of all normalizer and stemmer classes. (Rushabh Shah)
+
 New Features
 ---------------------
 
diff --git a/lucene/MIGRATE.md b/lucene/MIGRATE.md
index d1d1b27f29f..a6836166046 100644
--- a/lucene/MIGRATE.md
+++ b/lucene/MIGRATE.md
@@ -30,6 +30,11 @@ behind the scenes. It is the responsibility of the caller to to call
 These classes have been removed and consolidated into `FieldExistsQuery`. To migrate, caller simply replace those classes
 with the new one during object instantiation. 
 
+### Normalizer and stemmer classes are now package private (LUCENE-10561)
+
+Except for a few exceptions, almost all normalizer and stemmer classes are now package private. If your code depends on
+constants defined in them, copy the constant values and re-define them in your code.
+
 ## Migration from Lucene 9.0 to Lucene 9.1
 
 ### Test framework package migration and module (LUCENE-10301)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
index aab7c9d1323..9c98cea75ea 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicNormalizer.java
@@ -33,28 +33,28 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *   <li>Removal of tatweel (stretching character).
  * </ul>
  */
-public class ArabicNormalizer {
-  public static final char ALEF = '\u0627';
-  public static final char ALEF_MADDA = '\u0622';
-  public static final char ALEF_HAMZA_ABOVE = '\u0623';
-  public static final char ALEF_HAMZA_BELOW = '\u0625';
+class ArabicNormalizer {
+  static final char ALEF = '\u0627';
+  static final char ALEF_MADDA = '\u0622';
+  static final char ALEF_HAMZA_ABOVE = '\u0623';
+  static final char ALEF_HAMZA_BELOW = '\u0625';
 
-  public static final char YEH = '\u064A';
-  public static final char DOTLESS_YEH = '\u0649';
+  static final char YEH = '\u064A';
+  static final char DOTLESS_YEH = '\u0649';
 
-  public static final char TEH_MARBUTA = '\u0629';
-  public static final char HEH = '\u0647';
+  static final char TEH_MARBUTA = '\u0629';
+  static final char HEH = '\u0647';
 
-  public static final char TATWEEL = '\u0640';
+  static final char TATWEEL = '\u0640';
 
-  public static final char FATHATAN = '\u064B';
-  public static final char DAMMATAN = '\u064C';
-  public static final char KASRATAN = '\u064D';
-  public static final char FATHA = '\u064E';
-  public static final char DAMMA = '\u064F';
-  public static final char KASRA = '\u0650';
-  public static final char SHADDA = '\u0651';
-  public static final char SUKUN = '\u0652';
+  static final char FATHATAN = '\u064B';
+  static final char DAMMATAN = '\u064C';
+  static final char KASRATAN = '\u064D';
+  static final char FATHA = '\u064E';
+  static final char DAMMA = '\u064F';
+  static final char KASRA = '\u0650';
+  static final char SHADDA = '\u0651';
+  static final char SUKUN = '\u0652';
 
   /**
    * Normalize an input buffer of Arabic text
@@ -63,7 +63,7 @@ public class ArabicNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char[] s, int len) {
+  int normalize(char[] s, int len) {
 
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
index 625fa7be6af..8484868e877 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ar/ArabicStemmer.java
@@ -30,20 +30,20 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *   <li>Stemming of common suffixes.
  * </ul>
  */
-public class ArabicStemmer {
-  public static final char ALEF = '\u0627';
-  public static final char BEH = '\u0628';
-  public static final char TEH_MARBUTA = '\u0629';
-  public static final char TEH = '\u062A';
-  public static final char FEH = '\u0641';
-  public static final char KAF = '\u0643';
-  public static final char LAM = '\u0644';
-  public static final char NOON = '\u0646';
-  public static final char HEH = '\u0647';
-  public static final char WAW = '\u0648';
-  public static final char YEH = '\u064A';
+class ArabicStemmer {
+  static final char ALEF = '\u0627';
+  static final char BEH = '\u0628';
+  static final char TEH_MARBUTA = '\u0629';
+  static final char TEH = '\u062A';
+  static final char FEH = '\u0641';
+  static final char KAF = '\u0643';
+  static final char LAM = '\u0644';
+  static final char NOON = '\u0646';
+  static final char HEH = '\u0647';
+  static final char WAW = '\u0648';
+  static final char YEH = '\u064A';
 
-  public static final char[][] prefixes = {
+  static final char[][] prefixes = {
     ("" + ALEF + LAM).toCharArray(),
     ("" + WAW + ALEF + LAM).toCharArray(),
     ("" + BEH + ALEF + LAM).toCharArray(),
@@ -53,7 +53,7 @@ public class ArabicStemmer {
     ("" + WAW).toCharArray(),
   };
 
-  public static final char[][] suffixes = {
+  static final char[][] suffixes = {
     ("" + HEH + ALEF).toCharArray(),
     ("" + ALEF + NOON).toCharArray(),
     ("" + ALEF + TEH).toCharArray(),
@@ -73,7 +73,7 @@ public class ArabicStemmer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     len = stemPrefix(s, len);
     len = stemSuffix(s, len);
 
@@ -87,7 +87,7 @@ public class ArabicStemmer {
    * @param len length of input buffer
    * @return new length of input buffer after stemming.
    */
-  public int stemPrefix(char[] s, int len) {
+  int stemPrefix(char[] s, int len) {
     for (int i = 0; i < prefixes.length; i++)
       if (startsWithCheckLength(s, len, prefixes[i])) return deleteN(s, 0, len, prefixes[i].length);
     return len;
@@ -100,7 +100,7 @@ public class ArabicStemmer {
    * @param len length of input buffer
    * @return new length of input buffer after stemming
    */
-  public int stemSuffix(char[] s, int len) {
+  int stemSuffix(char[] s, int len) {
     for (int i = 0; i < suffixes.length; i++)
       if (endsWithCheckLength(s, len, suffixes[i]))
         len = deleteN(s, len - suffixes[i].length, len, suffixes[i].length);
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
index 8723183aebc..968ff05d846 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bg/BulgarianStemmer.java
@@ -24,7 +24,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>Implements the algorithm described in: <i> Searching Strategies for the Bulgarian Language
  * </i> http://members.unine.ch/jacques.savoy/Papers/BUIR.pdf
  */
-public class BulgarianStemmer {
+class BulgarianStemmer {
 
   /**
    * Stem an input buffer of Bulgarian text.
@@ -33,7 +33,7 @@ public class BulgarianStemmer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int stem(final char[] s, int len) {
+  int stem(final char[] s, int len) {
     if (len < 4) // do not stem
     return len;
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliNormalizer.java
index e114706936a..de7c56c5433 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliNormalizer.java
@@ -25,7 +25,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.delete;
  * encoding for Bangla and its application in spelling checker</i> Naushad UzZaman and Mumit Khan.
  * http://www.panl10n.net/english/final%20reports/pdf%20files/Bangladesh/BAN16.pdf
  */
-public class BengaliNormalizer {
+class BengaliNormalizer {
   /**
    * Normalize an input buffer of Bengali text
    *
@@ -33,7 +33,7 @@ public class BengaliNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char[] s, int len) {
+  int normalize(char[] s, int len) {
 
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliStemmer.java
index e7f8f03fac1..c0f0d92fe96 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/bn/BengaliStemmer.java
@@ -27,8 +27,8 @@ import static org.apache.lucene.analysis.util.StemmerUtil.endsWith;
  * <p>Few Stemmer criteria are taken from:
  * <i>http://members.unine.ch/jacques.savoy/clef/BengaliStemmerLight.java.txt</i>
  */
-public class BengaliStemmer {
-  public int stem(char[] buffer, int len) {
+class BengaliStemmer {
+  int stem(char[] buffer, int len) {
 
     // 8
     if (len > 9
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
index 6958cbea155..f5647fceeff 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/br/BrazilianStemmer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.br;
 import java.util.Locale;
 
 /** A stemmer for Brazilian Portuguese words. */
-public class BrazilianStemmer {
+class BrazilianStemmer {
   private static final Locale locale = new Locale("pt", "BR");
 
   /** Changed term */
@@ -1124,7 +1124,7 @@ public class BrazilianStemmer {
    *
    * @return TERM, CT, RV, R1 and R2
    */
-  public String log() {
+  String log() {
     return " (TERM = "
         + TERM
         + ")"
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
index 7f0b93d3e69..4140eb6b230 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniNormalizer.java
@@ -33,7 +33,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.delete;
  *   <li>Harakat, tatweel, and formatting characters such as directional controls are removed.
  * </ul>
  */
-public class SoraniNormalizer {
+class SoraniNormalizer {
 
   static final char YEH = '\u064A';
   static final char DOTLESS_YEH = '\u0649';
@@ -69,7 +69,7 @@ public class SoraniNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char[] s, int len) {
+  int normalize(char[] s, int len) {
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
         case YEH:
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
index 9b5b50437e3..36ab66d2888 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ckb/SoraniStemmer.java
@@ -19,7 +19,7 @@ package org.apache.lucene.analysis.ckb;
 import static org.apache.lucene.analysis.util.StemmerUtil.endsWith;
 
 /** Light stemmer for Sorani */
-public class SoraniStemmer {
+class SoraniStemmer {
 
   /**
    * Stem an input buffer of Sorani text.
@@ -28,7 +28,7 @@ public class SoraniStemmer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     // postposition
     if (len > 5 && endsWith(s, len, "دا")) {
       len -= 2;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
index de659baba40..2efe00d9826 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/cz/CzechStemmer.java
@@ -24,7 +24,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>Implements the algorithm described in: <i> Indexing and stemming approaches for the Czech
  * language </i> http://portal.acm.org/citation.cfm?id=1598600
  */
-public class CzechStemmer {
+class CzechStemmer {
 
   /**
    * Stem an input buffer of Czech text.
@@ -34,7 +34,7 @@ public class CzechStemmer {
    * @return length of input buffer after normalization
    *     <p><b>NOTE</b>: Input is expected to be in lowercase, but with diacritical marks
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     len = removeCase(s, len);
     len = removePossessives(s, len);
     if (len > 0) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
index c5d2228b6ab..6a6a6e4f0ed 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanLightStemmer.java
@@ -57,9 +57,9 @@ package org.apache.lucene.analysis.de;
  * <p>This stemmer implements the "UniNE" algorithm in: <i>Light Stemming Approaches for the French,
  * Portuguese, German and Hungarian Languages</i> Jacques Savoy
  */
-public class GermanLightStemmer {
+class GermanLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     for (int i = 0; i < len; i++)
       switch (s[i]) {
         case 'ä':
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
index b806ad77a77..f477bb9c6d3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanMinimalStemmer.java
@@ -57,9 +57,9 @@ package org.apache.lucene.analysis.de;
  * <p>This stemmer implements the following algorithm: <i>Morphologie et recherche d'information</i>
  * Jacques Savoy.
  */
-public class GermanMinimalStemmer {
+class GermanMinimalStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 5) return len;
 
     for (int i = 0; i < len; i++)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
index e4c41cc5b92..ba668b238ef 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/de/GermanStemmer.java
@@ -26,7 +26,7 @@ import java.util.Locale;
  * <p>The algorithm is based on the report "A Fast and Simple Stemming Algorithm for German Words"
  * by J&ouml;rg Caumanns (joerg.caumanns at isst.fhg.de).
  */
-public class GermanStemmer {
+class GermanStemmer {
   /** Buffer for the terms while stemming them. */
   private StringBuilder sb = new StringBuilder();
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
index 0fb56788586..00b42ff2fc0 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/el/GreekStemmer.java
@@ -29,7 +29,7 @@ import org.apache.lucene.analysis.CharArraySet;
  *
  * @lucene.experimental
  */
-public class GreekStemmer {
+class GreekStemmer {
 
   /**
    * Stems a word contained in a leading portion of a char[] array. The word is passed through a
@@ -39,7 +39,7 @@ public class GreekStemmer {
    * @param len The length of the char[] array.
    * @return The new length of the stemmed word.
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 4) // too short
     return len;
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
index f9e77fd5c39..36076dd4edd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/EnglishMinimalStemmer.java
@@ -21,9 +21,9 @@ package org.apache.lucene.analysis.en;
  *
  * <p>This stemmer implements the "S-Stemmer" from <i>How Effective Is Suffixing?</i> Donna Harman.
  */
-public class EnglishMinimalStemmer {
+class EnglishMinimalStemmer {
   @SuppressWarnings("fallthrough")
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 3 || s[len - 1] != 's') return len;
 
     switch (s[len - 2]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
index 204d7e53eea..17d50c239b1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/en/KStemmer.java
@@ -69,7 +69,7 @@ import org.apache.lucene.analysis.util.OpenStringBuilder;
  */
 
 /** This class implements the Kstem algorithm */
-public class KStemmer {
+class KStemmer {
   private static final int MaxWordLen = 50;
 
   private static final String[] exceptionWords = {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
index 15ffb0bb1b4..087eb795f99 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishLightStemmer.java
@@ -57,9 +57,9 @@ package org.apache.lucene.analysis.es;
  * <p>This stemmer implements the algorithm described in: <i>Report on CLEF-2001 Experiments</i>
  * Jacques Savoy
  */
-public class SpanishLightStemmer {
+class SpanishLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 5) return len;
 
     for (int i = 0; i < len; i++)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishMinimalStemmer.java
index fd1957cb803..42c03a59f7b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishMinimalStemmer.java
@@ -25,9 +25,9 @@ package org.apache.lucene.analysis.es;
  * @deprecated Use {@link SpanishPluralStemmer} instead.
  */
 @Deprecated
-public class SpanishMinimalStemmer {
+class SpanishMinimalStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 4 || s[len - 1] != 's') return len;
 
     for (int i = 0; i < len; i++)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishPluralStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishPluralStemmer.java
index ed2dac953fa..b18c208506a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishPluralStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/es/SpanishPluralStemmer.java
@@ -26,7 +26,7 @@ import org.apache.lucene.analysis.CharArraySet;
  * <p>This stemmer implements the rules described in:
  * <i>http://www.wikilengua.org/index.php/Plural_(formación)</i>
  */
-public class SpanishPluralStemmer {
+class SpanishPluralStemmer {
 
   private static final CharArraySet invariants;
   private static final CharArraySet specialCases;
@@ -166,7 +166,7 @@ public class SpanishPluralStemmer {
     specialCases = CharArraySet.unmodifiableSet(sepecialSet);
   }
 
-  public int stem(char s[], int len) {
+  int stem(char s[], int len) {
     if (len < 4) return len; // plural have at least 4 letters (ases,eses,etc.)
     removeAccents(s, len);
     if (invariant(s, len)) return len;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
index 21f9e156e8c..a859643c9ab 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianNormalizer.java
@@ -31,24 +31,24 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *   <li>Normalization of persian keheh to arabic kaf
  * </ul>
  */
-public class PersianNormalizer {
-  public static final char YEH = '\u064A';
+class PersianNormalizer {
+  static final char YEH = '\u064A';
 
-  public static final char FARSI_YEH = '\u06CC';
+  static final char FARSI_YEH = '\u06CC';
 
-  public static final char YEH_BARREE = '\u06D2';
+  static final char YEH_BARREE = '\u06D2';
 
-  public static final char KEHEH = '\u06A9';
+  static final char KEHEH = '\u06A9';
 
-  public static final char KAF = '\u0643';
+  static final char KAF = '\u0643';
 
-  public static final char HAMZA_ABOVE = '\u0654';
+  static final char HAMZA_ABOVE = '\u0654';
 
-  public static final char HEH_YEH = '\u06C0';
+  static final char HEH_YEH = '\u06C0';
 
-  public static final char HEH_GOAL = '\u06C1';
+  static final char HEH_GOAL = '\u06C1';
 
-  public static final char HEH = '\u0647';
+  static final char HEH = '\u0647';
 
   /**
    * Normalize an input buffer of Persian text
@@ -57,7 +57,7 @@ public class PersianNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char[] s, int len) {
+  int normalize(char[] s, int len) {
 
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianStemmer.java
index 5d2f9563174..e871672cb00 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fa/PersianStemmer.java
@@ -32,7 +32,7 @@ import java.util.Arrays;
  *   <li>Stemming of common suffixes.
  * </ul>
  */
-public class PersianStemmer {
+class PersianStemmer {
   private static final char ALEF = '\u0627';
   private static final char HEH = '\u0647';
   private static final char TEH = '\u062A';
@@ -59,7 +59,7 @@ public class PersianStemmer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     len = stemSuffix(s, len);
 
     return len;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
index 776b70f6c90..3b816542610 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fi/FinnishLightStemmer.java
@@ -59,9 +59,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the algorithm described in: <i>Report on CLEF-2003 Monolingual
  * Tracks</i> Jacques Savoy
  */
-public class FinnishLightStemmer {
+class FinnishLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 4) return len;
 
     for (int i = 0; i < len; i++)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
index be54195b85a..91e2038b9b6 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchLightStemmer.java
@@ -59,9 +59,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the "UniNE" algorithm in: <i>Light Stemming Approaches for the French,
  * Portuguese, German and Hungarian Languages</i> Jacques Savoy
  */
-public class FrenchLightStemmer {
+class FrenchLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len > 5 && s[len - 1] == 'x') {
       if (s[len - 3] == 'a' && s[len - 2] == 'u' && s[len - 4] != 'e') s[len - 2] = 'l';
       len--;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
index 62ceaea073e..88cd3480706 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/fr/FrenchMinimalStemmer.java
@@ -57,8 +57,8 @@ package org.apache.lucene.analysis.fr;
  * <p>This stemmer implements the following algorithm: <i>A Stemming procedure and stopword list for
  * general French corpora.</i> Jacques Savoy.
  */
-public class FrenchMinimalStemmer {
-  public int stem(char[] s, int len) {
+class FrenchMinimalStemmer {
+  int stem(char[] s, int len) {
     if (len < 6) return len;
 
     if (s[len - 1] == 'x') {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
index c6a0bfd0104..ce6c442643f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianMinimalStemmer.java
@@ -26,12 +26,12 @@ import org.apache.lucene.analysis.pt.RSLPStemmerBase;
  *
  * @see RSLPStemmerBase
  */
-public class GalicianMinimalStemmer extends RSLPStemmerBase {
+class GalicianMinimalStemmer extends RSLPStemmerBase {
 
   private static final Step pluralStep =
       parse(GalicianMinimalStemmer.class, "galician.rslp").get("Plural");
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     return pluralStep.apply(s, len);
   }
 }
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
index e3e93a092a9..d240c66fb6d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/gl/GalicianStemmer.java
@@ -25,7 +25,7 @@ import org.apache.lucene.analysis.pt.RSLPStemmerBase;
  * @see RSLPStemmerBase
  * @see <a href="http://bvg.udc.es/recursos_lingua/stemming.jsp">Description of rules</a>
  */
-public class GalicianStemmer extends RSLPStemmerBase {
+class GalicianStemmer extends RSLPStemmerBase {
   private static final Step plural, unification, adverb, augmentative, noun, verb, vowel;
 
   static {
@@ -44,7 +44,7 @@ public class GalicianStemmer extends RSLPStemmerBase {
    * @param len initial valid length of buffer
    * @return new valid length, stemmed
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     assert s.length >= len + 1 : "this stemmer requires an oversized array of at least 1";
 
     len = plural.apply(s, len);
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
index 8c1384a0d29..5a8376dcb7c 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiNormalizer.java
@@ -35,7 +35,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *   <li>In addition to chandrabindu, NA+halant is normalized to anusvara
  * </ul>
  */
-public class HindiNormalizer {
+class HindiNormalizer {
   /**
    * Normalize an input buffer of Hindi text
    *
@@ -43,7 +43,7 @@ public class HindiNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char[] s, int len) {
+  int normalize(char[] s, int len) {
 
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
index cede10c1850..6776a4e011a 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hi/HindiStemmer.java
@@ -25,8 +25,8 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * Ramanathan and Durgesh D Rao.
  * http://computing.open.ac.uk/Sites/EACLSouthAsia/Papers/p6-Ramanathan.pdf
  */
-public class HindiStemmer {
-  public int stem(char[] buffer, int len) {
+class HindiStemmer {
+  int stem(char[] buffer, int len) {
     // 5
     if ((len > 6)
         && (endsWith(buffer, len, "ाएंगी")
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
index 12b3c257a4c..8db2a232a1d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/hu/HungarianLightStemmer.java
@@ -59,8 +59,8 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the "UniNE" algorithm in: <i>Light Stemming Approaches for the French,
  * Portuguese, German and Hungarian Languages</i> Jacques Savoy
  */
-public class HungarianLightStemmer {
-  public int stem(char[] s, int len) {
+class HungarianLightStemmer {
+  int stem(char[] s, int len) {
     for (int i = 0; i < len; i++)
       switch (s[i]) {
         case 'á':
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
index 31151a09969..1058727ede2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/id/IndonesianStemmer.java
@@ -25,7 +25,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * Information Retrieval in Bahasa Indonesia</i>, Fadillah Z Tala.
  * http://www.illc.uva.nl/Publications/ResearchReports/MoL-2003-02.text.pdf
  */
-public class IndonesianStemmer {
+class IndonesianStemmer {
   private int numSyllables;
   private int flags;
   private static final int REMOVED_KE = 1;
@@ -42,7 +42,7 @@ public class IndonesianStemmer {
    * <p>Use <code>stemDerivational</code> to control whether full stemming or only light
    * inflectional stemming is done.
    */
-  public int stem(char[] text, int length, boolean stemDerivational) {
+  int stem(char[] text, int length, boolean stemDerivational) {
     flags = 0;
     numSyllables = 0;
     for (int i = 0; i < length; i++) if (isVowel(text[i])) numSyllables++;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
index 3f20289d4b9..f87e88d3558 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/in/IndicNormalizer.java
@@ -28,7 +28,7 @@ import java.util.IdentityHashMap;
  * <p>Follows guidelines from Unicode 5.2, chapter 6, South Asian Scripts I and graphical
  * decompositions from http://ldc.upenn.edu/myl/IndianScriptsUnicode.html
  */
-public class IndicNormalizer {
+class IndicNormalizer {
 
   private static class ScriptData {
     final int flag;
@@ -243,7 +243,7 @@ public class IndicNormalizer {
    * @param len valid length
    * @return normalized length
    */
-  public int normalize(char[] text, int len) {
+  int normalize(char[] text, int len) {
     for (int i = 0; i < len; i++) {
       final Character.UnicodeBlock block = Character.UnicodeBlock.of(text[i]);
       final ScriptData sd = scripts.get(block);
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
index eb684130958..0edb5caf66f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/it/ItalianLightStemmer.java
@@ -57,9 +57,9 @@ package org.apache.lucene.analysis.it;
  * <p>This stemmer implements the algorithm described in: <i>Report on CLEF-2001 Experiments</i>
  * Jacques Savoy
  */
-public class ItalianLightStemmer {
+class ItalianLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 6) return len;
 
     for (int i = 0; i < len; i++)
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
index bee38460419..29c91691d07 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/lv/LatvianStemmer.java
@@ -32,9 +32,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *   <li>Palatalization is only handled when a declension II,V,VI noun suffix is removed.
  * </ul>
  */
-public class LatvianStemmer {
+class LatvianStemmer {
   /** Stem a latvian word. returns the new adjusted length. */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     int numVowels = numVowels(s, len);
 
     for (int i = 0; i < affixes.length; i++) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
index 398f3fc4daf..f6bb198b1ee 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianLightStemmer.java
@@ -60,11 +60,11 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * one has a pre-defined rule set and a corresponding corpus to validate against whereas the
  * Norwegian one is hand crafted.
  */
-public class NorwegianLightStemmer {
+class NorwegianLightStemmer {
   /** Constant to remove Bokmål-specific endings */
-  public static final int BOKMAAL = 1;
+  static final int BOKMAAL = 1;
   /** Constant to remove Nynorsk-specific endings */
-  public static final int NYNORSK = 2;
+  static final int NYNORSK = 2;
 
   final boolean useBokmaal;
   final boolean useNynorsk;
@@ -74,7 +74,7 @@ public class NorwegianLightStemmer {
    *
    * @param flags set to {@link #BOKMAAL}, {@link #NYNORSK}, or both.
    */
-  public NorwegianLightStemmer(int flags) {
+  NorwegianLightStemmer(int flags) {
     if (flags <= 0 || flags > BOKMAAL + NYNORSK) {
       throw new IllegalArgumentException("invalid flags");
     }
@@ -82,7 +82,7 @@ public class NorwegianLightStemmer {
     useNynorsk = (flags & NYNORSK) != 0;
   }
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     // Remove posessive -s (bilens -> bilen) and continue checking
     if (len > 4 && s[len - 1] == 's') len--;
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
index dbc6d5774cb..be537383bd1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/no/NorwegianMinimalStemmer.java
@@ -60,7 +60,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  *
  * <p>Stems known plural forms for Norwegian nouns only, together with genitiv -s
  */
-public class NorwegianMinimalStemmer {
+class NorwegianMinimalStemmer {
   final boolean useBokmaal;
   final boolean useNynorsk;
 
@@ -70,7 +70,7 @@ public class NorwegianMinimalStemmer {
    * @param flags set to {@link NorwegianLightStemmer#BOKMAAL}, {@link
    *     NorwegianLightStemmer#NYNORSK}, or both.
    */
-  public NorwegianMinimalStemmer(int flags) {
+  NorwegianMinimalStemmer(int flags) {
     if (flags <= 0 || flags > BOKMAAL + NYNORSK) {
       throw new IllegalArgumentException("invalid flags");
     }
@@ -78,7 +78,7 @@ public class NorwegianMinimalStemmer {
     useNynorsk = (flags & NYNORSK) != 0;
   }
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     // Remove genitiv s
     if (len > 4 && s[len - 1] == 's') len--;
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
index 216921f0860..97ea4bdcf0e 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseLightStemmer.java
@@ -59,9 +59,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the "UniNE" algorithm in: <i>Light Stemming Approaches for the French,
  * Portuguese, German and Hungarian Languages</i> Jacques Savoy
  */
-public class PortugueseLightStemmer {
+class PortugueseLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len < 4) return len;
 
     len = removeSuffix(s, len);
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
index a8a81c27737..e7f47a57b92 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseMinimalStemmer.java
@@ -26,12 +26,12 @@ package org.apache.lucene.analysis.pt;
  *
  * @see RSLPStemmerBase
  */
-public class PortugueseMinimalStemmer extends RSLPStemmerBase {
+class PortugueseMinimalStemmer extends RSLPStemmerBase {
 
   private static final Step pluralStep =
       parse(PortugueseMinimalStemmer.class, "portuguese.rslp").get("Plural");
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     return pluralStep.apply(s, len);
   }
 }
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
index 5d6a82bc7b7..cdbfbd190c7 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/pt/PortugueseStemmer.java
@@ -24,7 +24,7 @@ import java.util.Map;
  *
  * @see RSLPStemmerBase
  */
-public class PortugueseStemmer extends RSLPStemmerBase {
+class PortugueseStemmer extends RSLPStemmerBase {
   private static final Step plural, feminine, adverb, augmentative, noun, verb, vowel;
 
   static {
@@ -43,7 +43,7 @@ public class PortugueseStemmer extends RSLPStemmerBase {
    * @param len initial valid length of buffer
    * @return new valid length, stemmed
    */
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     assert s.length >= len + 1 : "this stemmer requires an oversized array of at least 1";
 
     len = plural.apply(s, len);
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
index e337830dc4d..06dce60db09 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/ru/RussianLightStemmer.java
@@ -59,9 +59,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the following algorithm: <i>Indexing and Searching Strategies for the
  * Russian Language.</i> Ljiljana Dolamic and Jacques Savoy.
  */
-public class RussianLightStemmer {
+class RussianLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     len = removeCase(s, len);
     return normalize(s, len);
   }
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
index 1f666010c67..36d69495237 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishLightStemmer.java
@@ -59,9 +59,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.*;
  * <p>This stemmer implements the algorithm described in: <i>Report on CLEF-2003 Monolingual
  * Tracks</i> Jacques Savoy
  */
-public class SwedishLightStemmer {
+class SwedishLightStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len > 4 && s[len - 1] == 's') len--;
 
     if (len > 7 && (endsWith(s, len, "elser") || endsWith(s, len, "heten"))) return len - 5;
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishMinimalStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishMinimalStemmer.java
index 456c04f26b0..9b1c2f532b3 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishMinimalStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/sv/SwedishMinimalStemmer.java
@@ -60,9 +60,9 @@ import static org.apache.lucene.analysis.util.StemmerUtil.endsWith;
  *
  * @since 9.0.0
  */
-public class SwedishMinimalStemmer {
+class SwedishMinimalStemmer {
 
-  public int stem(char[] s, int len) {
+  int stem(char[] s, int len) {
     if (len > 4 && s[len - 1] == 's') len--;
 
     if (len > 6
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguNormalizer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguNormalizer.java
index 115d44d4aef..66f30f79fc2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguNormalizer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguNormalizer.java
@@ -25,7 +25,7 @@ import static org.apache.lucene.analysis.util.StemmerUtil.delete;
  *
  * @since 9.0.0
  */
-public class TeluguNormalizer {
+class TeluguNormalizer {
 
   /**
    * Normalize an input buffer of Telugu text
@@ -34,7 +34,7 @@ public class TeluguNormalizer {
    * @param len length of input buffer
    * @return length of input buffer after normalization
    */
-  public int normalize(char s[], int len) {
+  int normalize(char s[], int len) {
 
     for (int i = 0; i < len; i++) {
       switch (s[i]) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguStemmer.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguStemmer.java
index 60993c5bc69..a39fc6444b2 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguStemmer.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/te/TeluguStemmer.java
@@ -23,8 +23,8 @@ import static org.apache.lucene.analysis.util.StemmerUtil.endsWith;
  *
  * @since 9.0.0
  */
-public class TeluguStemmer {
-  public int stem(char buffer[], int len) {
+class TeluguStemmer {
+  int stem(char buffer[], int len) {
     // 4
     if ((len > 5) && (endsWith(buffer, len, "ళ్ళు") || endsWith(buffer, len, "డ్లు")))
       return len - 4;