Skip to content

support for Elastic(Open)search CJK analysis plugins#8830

Merged
esethna merged 11 commits intomasterfrom
claude/issue-8829-20260324-2302
Apr 17, 2026
Merged

support for Elastic(Open)search CJK analysis plugins#8830
esethna merged 11 commits intomasterfrom
claude/issue-8829-20260324-2302

Conversation

@Combs7th
Copy link
Copy Markdown
Contributor

Documents the new ElasticsearchSettings.EnableCJKAnalyzers configuration setting that enables language-specific analyzer plugins for improved search results for Korean (analysis-nori), Japanese (analysis-kuromoji), and Chinese (analysis-smartcn) content. Disabled by default.

Closes #8829

Generated with Claude Code

Documents the new ElasticsearchSettings.EnableCJKAnalyzers configuration
setting that enables language-specific analyzer plugins for improved search
results for Korean (analysis-nori), Japanese (analysis-kuromoji), and Chinese
(analysis-smartcn) content. Disabled by default.

- Add config setting entry to environment-configuration-settings.rst
- Add optional CJK plugin installation notes to elasticsearch-setup.rst
- Add optional CJK plugin installation notes to opensearch-setup.rst

Closes #8829

Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
@Combs7th Combs7th requested a review from carlisgg March 24, 2026 23:17
@Combs7th Combs7th changed the base branch from master to v11.6-documentation March 24, 2026 23:18
@Combs7th Combs7th added 1: Dev Review Requires review by a core commiter 2: Editor Review Requires review by an editor Guidance labels Mar 24, 2026
@Combs7th Combs7th added this to the v11.6.0 milestone Mar 24, 2026
@Combs7th
Copy link
Copy Markdown
Contributor Author

@carlisgg - Do the above doc updates look accurate to you?

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 567649a


sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

**(Optional) CJK language analyzer plugins**: If you need improved search for Korean, Japanese, or Chinese content, install the required language-specific analyzer plugins and enable the :ref:`EnableCJKAnalyzers <administration-guide/configure/environment-configuration-settings:enable cjk analyzers>` configuration setting. The supported plugins are ``analysis-nori`` (Korean), ``analysis-kuromoji`` (Japanese), and ``analysis-smartcn`` (Chinese). Install them using the same ``elasticsearch-plugin install`` command, for example:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a page about CJK support when using DB related search (https://docs.mattermost.com/administration-guide/configure/enabling-chinese-japanese-korean-search.html) that mentions ES and OS options. Maybe we could mention and link to the specific location where CJK support and flag is explained?

@Combs7th
Copy link
Copy Markdown
Contributor Author

@claude - Please implement the changes requested by carlisgg above.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 31, 2026

Claude finished @Combs7th's task in 1m 11s —— View job


Implemented carlisgg's Review Requests

  • Read relevant files and gathered context
  • Add note about purging/rebuilding indexes when enabling on existing server (environment-configuration-settings.rst)
  • Add link to CJK support page in elasticsearch-setup.rst and opensearch-setup.rst
  • Commit and push changes

Changes Made

environment-configuration-settings.rst — Added a second paragraph to the existing note under the EnableCJKAnalyzers setting:

If you enable this setting on a server that was previously running Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes for existing content to be properly searchable with the new analyzers.

elasticsearch-setup.rst and opensearch-setup.rst — Appended to the CJK plugins paragraph a link to the Enabling Chinese, Japanese, and Korean Search page for additional CJK search configuration options.
|

- Add note in EnableCJKAnalyzers setting that existing servers must purge
  and rebuild indexes when enabling this setting
- Add link to Enabling CJK Search docs page in elasticsearch-setup.rst
  and opensearch-setup.rst

Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 004336a

@amyblais amyblais requested review from carlisgg and removed request for carlisgg April 1, 2026 06:09
@Combs7th
Copy link
Copy Markdown
Contributor Author

Combs7th commented Apr 3, 2026

@carlisgg - How's it lookin' now?

@Combs7th
Copy link
Copy Markdown
Contributor Author

Combs7th commented Apr 9, 2026

@carlisgg - Could I ask for your help with one more review on this one? If it looks good, I'll pass to Eric for merge.

@esethna
Copy link
Copy Markdown
Contributor

esethna commented Apr 13, 2026

@Combs7th there are unintended changes in here (desktop stuff).

@Combs7th Combs7th requested a review from esethna April 14, 2026 02:21
@Combs7th
Copy link
Copy Markdown
Contributor Author

Good catch @esethna, thanks! Ready for review again now.

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA a348a09

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 84b7ced

@Combs7th Combs7th requested a review from carlisgg April 15, 2026 00:29
@Combs7th
Copy link
Copy Markdown
Contributor Author

@esethna @carlisgg - I think this one should be all ready for merge now?


.. note::

Available from Mattermost v11.6. All required analyzer plugins must be installed on the Elasticsearch or AWS OpenSearch server before enabling this setting. See the :doc:`Elasticsearch setup </administration-guide/scale/elasticsearch-setup>` and :doc:`AWS OpenSearch setup </administration-guide/scale/opensearch-setup>` documentation for plugin installation instructions.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great, just one last detail. The setting can be enabled even if plugins are not installed but with no effect apart from a warning being written to the logs about the fact. Also it will work with whatever plugins are installed and make sense for current deployment not requiring all to be installed, even though description is ok, maybe could be confusing.
So maybe we could rephrase
All required analyzer plugins must be installed on the Elasticsearch or AWS OpenSearch server before enabling this setting
to something like
The required analyzer plugins should be installed on the Elasticsearch or AWS OpenSearch server before enabling this setting for full analysis support. If no plugin is detected, a warning will be logged
or similar

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @carlisgg! Great feedback. That wording has been updated on the draft.

@esethna
Copy link
Copy Markdown
Contributor

esethna commented Apr 16, 2026

@Combs7th see Amy's comments. There are still unintended desktop changelog and release docs changes in here


sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

**(Optional) CJK language analyzer plugins**: If you need improved search for Korean, Japanese, or Chinese content, install the required language-specific analyzer plugins and enable the :ref:`EnableCJKAnalyzers <administration-guide/configure/environment-configuration-settings:enable cjk analyzers>` configuration setting. The supported plugins are ``analysis-nori`` (Korean), ``analysis-kuromoji`` (Japanese), and ``analysis-smartcn`` (Chinese). Install them using the same ``elasticsearch-plugin install`` command, for example. See also :doc:`Enabling Chinese, Japanese, and Korean Search </administration-guide/configure/enabling-chinese-japanese-korean-search>` for additional CJK search configuration options.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Combs7th let's review from the Editor Evie persona. The sentence structure and grammar is a bit funky here. https://github.com/mattermost/docs/blob/master/.cursor/rules/docs-editor-persona-evie.mdc


sudo /usr/share/opensearch/bin/opensearch-plugin install analysis-icu

**(Optional) CJK language analyzer plugins**: If you need improved search for Korean, Japanese, or Chinese content, install the required language-specific analyzer plugins and enable the :ref:`EnableCJKAnalyzers <administration-guide/configure/environment-configuration-settings:enable cjk analyzers>` configuration setting. The supported plugins are ``analysis-nori`` (Korean), ``analysis-kuromoji`` (Japanese), and ``analysis-smartcn`` (Chinese). Install them using the same ``opensearch-plugin install`` command, for example. See also :doc:`Enabling Chinese, Japanese, and Korean Search </administration-guide/configure/enabling-chinese-japanese-korean-search>` for additional CJK search configuration options.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Combs7th let's review from the Editor Evie persona. The sentence structure and grammar is a bit funky here. https://github.com/mattermost/docs/blob/master/.cursor/rules/docs-editor-persona-evie.mdc

@Combs7th
Copy link
Copy Markdown
Contributor Author

@claude - Please analyze the text blocks Eric responded to above, and fix the sentence structure and grammar using the Editor Evie reviewer persona.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Apr 17, 2026

Claude finished @Combs7th's task in 1m 24s —— View job


Fixing Grammar/Sentence Structure per Editor Evie Persona

  • Gather context and read flagged files
  • Read Editor Evie persona (file not present in checkout; applied standard doc best practices)
  • Fix sentence structure in elasticsearch-setup.rst
  • Fix sentence structure in opensearch-setup.rst
  • Commit and push changes

Changes Made

Both paragraphs had the same issues:

  1. "If you need improved search... install... and enable..." — mixed two separate actions in one conditional sentence
  2. "Install them using the same command, for example." — "for example" left hanging at end with no clear reference

Rewrote both paragraphs to:

  • Lead with "To improve search..." (active, direct purpose statement)
  • Combine the plugin list with the install instruction naturally: "install one or more of the following ... using the same [plugin] install command: ..."
  • Make the setting step its own sentence: "Then enable the EnableCJKAnalyzers setting."
  • Drop the redundant "for example" (the code block below already shows the examples)

Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 17, 2026

Warning

Rate limit exceeded

@esethna has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 55 minutes and 20 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 55 minutes and 20 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0b4b4ba5-a196-405b-b01b-e400fa8f3b49

📥 Commits

Reviewing files that changed from the base of the PR and between bfc6bc7 and 560ec44.

📒 Files selected for processing (1)
  • source/administration-guide/configure/environment-configuration-settings.rst
📝 Walkthrough

Walkthrough

Documentation updates across three pages to introduce and explain the new enable-cjk-analyzers configuration setting for Elasticsearch and OpenSearch, including environment variable mapping, installation instructions for CJK language analyzer plugins (analysis-nori, analysis-kuromoji, analysis-smartcn), and operational requirements for enabling the feature.

Changes

Cohort / File(s) Summary
Configuration Setting Reference
source/administration-guide/configure/environment-configuration-settings.rst
Added documentation for new enable-cjk-analyzers boolean setting (default: false), including config.json path (.Elasticsearchsettings.EnableCJKAnalyzers), environment variable (MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS), supported CJK plugins, version availability (v11.6), and operational notes about plugin installation requirements and search index purge/rebuild when enabling on previously indexed servers.
Search Setup Instructions
source/administration-guide/scale/elasticsearch-setup.rst, source/administration-guide/scale/opensearch-setup.rst
Added optional subsections documenting CJK analyzer plugin installation steps via package manager, restart procedures, configuration setting enablement, and important operational notes about purging and rebuilding search indexes when enabling CJK analyzers on servers with existing indexed content.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: documentation for CJK analysis plugin support in Elasticsearch and OpenSearch.
Description check ✅ Passed The description is related to the changeset, identifying the new configuration setting, listing the plugins, and referencing the closed issue.
Linked Issues check ✅ Passed The PR documentation covers all required objectives: the EnableCJKAnalyzers setting, default value (false), supported plugins (analysis-nori, analysis-kuromoji, analysis-smartcn), and applicability to both Elasticsearch and OpenSearch.
Out of Scope Changes check ✅ Passed All changes are scoped to documentation for the CJK analyzer plugins feature across three relevant admin documentation files; no unrelated content modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/issue-8829-20260324-2302

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

♻️ Duplicate comments (1)
source/administration-guide/configure/environment-configuration-settings.rst (1)

1917-1919: ⚠️ Potential issue | 🟡 Minor

Clarify plugin prerequisite wording to avoid conflicting guidance

Line 1917 says plugins “must be installed” before enabling, but Line 1933 explains the setting can still be enabled and logs a warning when no plugin is detected. Please make this wording consistent with the fallback behaviour.

Suggested minimal diff
-| Chinese content. The required analyzer plugins must be        |
-| installed on the Elasticsearch or AWS OpenSearch server       |
-| before enabling this setting.                                 |
+| Chinese content. Install the relevant analyzer plugins        |
+| on the Elasticsearch or AWS OpenSearch server for full        |
+| CJK analysis support.                                         |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/administration-guide/configure/environment-configuration-settings.rst`
around lines 1917 - 1919, Update the phrasing around the
MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS setting so it matches the actual
behavior: replace the absolute "must be installed" claim with wording that these
Chinese analyzer plugins should be installed on the Elasticsearch/OpenSearch
server to ensure full functionality, and add a short note that the application
will still start with the setting enabled but will log a warning and fall back
if the plugins are not detected (referencing
MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS to locate the relevant text).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@source/administration-guide/configure/environment-configuration-settings.rst`:
- Line 1935: The sentence referencing only Elasticsearch should include a
parallel internal link to AWS OpenSearch; update the text that currently
contains ":doc:`Elasticsearch setup
</administration-guide/scale/elasticsearch-setup>`" to also reference the
OpenSearch guide using the same internal link syntax (for example add ":doc:`AWS
OpenSearch setup </administration-guide/scale/opensearch-setup>`"), so admins
using either backend are directed to the correct purge-and-rebuild instructions.
- Around line 1931-1936: Replace the current ".. note::" admonition with an "..
important::" admonition for the block that contains the sentence "If you enable
this setting on a server that was previously running Elasticsearch or AWS
OpenSearch, you must purge and rebuild the search indexes for existing content
to be properly searchable with the new analyzers." (locate the ".. note::"
directive and that exact sentence), leaving the content intact but using "..
important::" to mark this as a mandatory reindex prerequisite per the
documentation guidelines.

In `@source/administration-guide/scale/elasticsearch-setup.rst`:
- Around line 71-78: Add explicit operational steps after the plugin
installation block: instruct operators to restart the Elasticsearch service so
newly installed plugins (analysis-nori, analysis-kuromoji, analysis-smartcn) are
loaded, and add a clear warning that when turning on the EnableCJKAnalyzers
setting existing indexes must be purged and rebuilt (reindex) to avoid search
inconsistencies; reference the EnableCJKAnalyzers setting and the three plugin
names so readers can locate the guidance and perform restart + reindex on
production servers.
- Around line 71-72: Split the long sentence into two clear steps: first, state
that for better Korean, Japanese, or Chinese search you should install one or
more language analyzer plugins and list the plugin names (analysis-nori,
analysis-kuromoji, analysis-smartcn) and specify the exact command to run
(elasticsearch-plugin install <plugin-name>); second, instruct readers to enable
the EnableCJKAnalyzers configuration setting and reference the Enabling Chinese,
Japanese, and Korean Search doc for additional configuration options. Ensure the
two sentences are short and procedural (install plugins via elasticsearch-plugin
install <plugin-name>; then enable EnableCJKAnalyzers) and remove the phrase
"using the same ... command" that implies a prior command.

In `@source/administration-guide/scale/opensearch-setup.rst`:
- Around line 101-108: After the plugin install commands for
analysis-nori/analysis-kuromoji/analysis-smartcn, add a note instructing
operators to restart the OpenSearch service so the plugins are loaded (e.g.,
restart opensearch process/service), and add a clear warning that enabling the
EnableCJKAnalyzers setting requires purging and rebuilding existing search
indexes on affected nodes to avoid inconsistent/incorrect search results;
reference the EnableCJKAnalyzers setting name and the installed plugin names
(analysis-nori, analysis-kuromoji, analysis-smartcn) so readers know this
applies when they enable CJK analyzers.
- Around line 101-102: The sentence is a run-on mixing explanation and steps;
split it into a short purpose sentence (e.g., "To improve search for Korean,
Japanese, or Chinese content, install language-specific CJK analyzers.")
followed by a procedural sentence instructing to install one or more plugins
with the opensearch-plugin install command (list the plugin names analysis-nori,
analysis-kuromoji, analysis-smartcn), then a final instruction to enable the
EnableCJKAnalyzers configuration setting and refer to the Enabling Chinese,
Japanese, and Korean Search document for additional options.

In `@source/product-overview/desktop-app-changelog.md`:
- Line 209: The Download Binaries link currently points to
".../releases/v5.13.2" (the line reading "**Download Binaries:** [Mattermost
Desktop on GitHub](https://github.com/mattermost/desktop/releases/v5.13.2)")
which is inconsistent with the documented latest v5.13 patch; update that URL to
the correct patch (e.g., change v5.13.2 to v5.13.5 or to whichever latest v5.13
patch you intend) and verify the same link/version is used consistently across
the desktop docs pages.

In `@source/product-overview/mattermost-desktop-releases.md`:
- Line 23: The v5.13 release row was unintentionally downgraded to v5.13.4;
update the v5.13 row to reference the correct v5.13.5 artifacts by changing the
download link and tag text from v5.13.4 to v5.13.5 and the SBOM download
URL/filename from sbom-desktop-v5.13.4.json to sbom-desktop-v5.13.5.json (i.e.,
restore the v5.13 row to point to v5.13.5).

---

Duplicate comments:
In
`@source/administration-guide/configure/environment-configuration-settings.rst`:
- Around line 1917-1919: Update the phrasing around the
MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS setting so it matches the actual
behavior: replace the absolute "must be installed" claim with wording that these
Chinese analyzer plugins should be installed on the Elasticsearch/OpenSearch
server to ensure full functionality, and add a short note that the application
will still start with the setting enabled but will log a warning and fall back
if the plugins are not detected (referencing
MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS to locate the relevant text).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f71a3525-00d6-42fc-bcfc-10392e60ac1a

📥 Commits

Reviewing files that changed from the base of the PR and between 80e869f and 2869b73.

📒 Files selected for processing (5)
  • source/administration-guide/configure/environment-configuration-settings.rst
  • source/administration-guide/scale/elasticsearch-setup.rst
  • source/administration-guide/scale/opensearch-setup.rst
  • source/product-overview/desktop-app-changelog.md
  • source/product-overview/mattermost-desktop-releases.md

Comment thread source/administration-guide/scale/elasticsearch-setup.rst Outdated
Comment thread source/administration-guide/scale/elasticsearch-setup.rst Outdated
Comment thread source/administration-guide/scale/opensearch-setup.rst Outdated
Comment thread source/administration-guide/scale/opensearch-setup.rst Outdated
Comment thread source/product-overview/desktop-app-changelog.md Outdated
Comment thread source/product-overview/mattermost-desktop-releases.md Outdated
@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 2869b73

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 7a66085

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 0a178a8

@Combs7th
Copy link
Copy Markdown
Contributor Author

@claude - Implement all 4 of the recommended changes from Veteran Vince and Editor Evie above.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Apr 17, 2026

Claude finished @Combs7th's task in 1m 50s —— View job


Implemented Veteran Vince & Editor Evie Changes

  • Gather context and read relevant files
  • [Editor Evie] elasticsearch-setup.rst — Shortened intro sentence, removed "using the same command" reference; moved enable-setting and see-also link to after the code block
  • [Veteran Vince] elasticsearch-setup.rst — Added restart Elasticsearch step + .. important:: reindex warning after plugin install block
  • [Editor Evie] opensearch-setup.rst — Same sentence restructuring as elasticsearch
  • [Veteran Vince] opensearch-setup.rst — Added restart OpenSearch step + .. important:: reindex warning after plugin install block
  • Committed and pushed changes

Summary of Changes

Both elasticsearch-setup.rst and opensearch-setup.rst CJK plugin sections now:

  1. Shorter introTo improve search for Korean, Japanese, or Chinese content, install one or more of the following language-specific analyzer plugins: ... (no more "using the same command")
  2. Restart step — After the install code block, instructs operators to restart the service (sudo systemctl restart elasticsearch/opensearch) so plugins load
  3. Enable + see-alsoThen enable the EnableCJKAnalyzers setting. See Enabling Chinese, Japanese, and Korean Search for additional options.
  4. Important admonition.. important:: block warning that existing servers must purge and rebuild their search index for CJK analyzers to take effect on existing posts

- Split run-on CJK plugin intro sentence; remove misleading "same command" reference
- Move enable-setting and see-also link to after the install code block
- Add service restart step (elasticsearch/opensearch) after plugin install
- Add .. important:: admonition: purge/rebuild indexes when enabling on existing server

Co-authored-by: Combs7th <Combs7th@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 253e2c9

@Combs7th
Copy link
Copy Markdown
Contributor Author

@amyblais @esethna - My apologies on that. I keep accidentally pulling in changelog and release note commits on some of these without realizing, but am keeping a closer eye for it. All should be fixed now!

I also made a few additional updates following the suggestions of the reviewer personas.

@Combs7th Combs7th requested review from amyblais and esethna April 17, 2026 01:06
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (3)
source/administration-guide/configure/environment-configuration-settings.rst (3)

1963-1968: ⚠️ Potential issue | 🟡 Minor

Use important for the mandatory reindex prerequisite

Line 1967 describes a required operational step (“must purge and rebuild”), so this should be .. important::, not .. note::.

Suggested minimal diff
-.. note::
+.. important::

Based on learnings, "Use important admonition for prerequisites, constraints, or high-impact information that materially affects correctness, supportability, compliance, or success."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/administration-guide/configure/environment-configuration-settings.rst`
around lines 1963 - 1968, Replace the ".. note::" admonition that contains the
required reindex sentence with an ".. important::" admonition so the sentence
beginning "If you enable this setting on a server that was previously running
Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes
for existing content to be properly searchable with the new analyzers." is
highlighted as a mandatory prerequisite; update the block that also references
Elasticsearch/OpenSearch setup docs (the same paragraph) to use ".. important::"
instead of ".. note::".

1949-1951: ⚠️ Potential issue | 🟡 Minor

Align plugin prerequisite wording with actual behaviour

Line 1949 says plugins “must” be installed before enabling, but Line 1965 already documents that enabling without detected plugins logs a warning. Please make this wording consistent to avoid misleading admins.

Suggested minimal diff
-| Chinese content. The required analyzer plugins must be        | - Environment variable: ``MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS``                    |
-| installed on the Elasticsearch or AWS OpenSearch server       |                                                                                            |
-| before enabling this setting.                                 |                                                                                            |
+| Chinese content. Install one or more supported analyzer       | - Environment variable: ``MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS``                    |
+| plugins on the Elasticsearch or AWS OpenSearch server         |                                                                                            |
+| before enabling this setting for full analysis support.       |                                                                                            |

As per coding guidelines, "Flag commands, settings, prerequisites, or sequencing that are misleading, incomplete, or unlikely to work as written."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/administration-guide/configure/environment-configuration-settings.rst`
around lines 1949 - 1951, The documentation currently says plugins "must" be
installed before enabling MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS but
elsewhere (around the MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS handling) you
document that enabling without detected plugins only logs a warning; change the
wording at the earlier occurrence to match actual behaviour—replace "must be
installed before enabling" with language such as "should be installed (a warning
is logged if not detected)" or "recommended; enabling without them will log a
warning" so the docs are consistent with the warning behavior.

1967-1967: ⚠️ Potential issue | 🟡 Minor

Add OpenSearch setup link to rebuild guidance

Line 1967 applies to Elasticsearch and AWS OpenSearch, but the rebuild instruction links only to Elasticsearch setup.

Suggested minimal diff
-  If you enable this setting on a server that was previously running Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes for existing content to be properly searchable with the new analyzers. See the :doc:`Elasticsearch setup </administration-guide/scale/elasticsearch-setup>` documentation for instructions on purging and rebuilding indexes.
+  If you enable this setting on a server that was previously running Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes for existing content to be properly searchable with the new analyzers. See the :doc:`Elasticsearch setup </administration-guide/scale/elasticsearch-setup>` and :doc:`AWS OpenSearch setup </administration-guide/scale/opensearch-setup>` documentation for instructions on purging and rebuilding indexes.

As per coding guidelines, "Describe Mattermost feature behavior, UI labels, and capability boundaries accurately."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@source/administration-guide/configure/environment-configuration-settings.rst`
at line 1967, The sentence starting "If you enable this setting on a server that
was previously running Elasticsearch or AWS OpenSearch..." links only to the
Elasticsearch setup; update the link to reference OpenSearch setup as well
(either by adding an additional :doc: link to the OpenSearch doc or replacing
the single link with a combined sentence that points to both :doc:`Elasticsearch
setup </administration-guide/scale/elasticsearch-setup>` and the corresponding
OpenSearch setup doc), ensuring the rebuild guidance accurately covers both
Elasticsearch and AWS OpenSearch.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In
`@source/administration-guide/configure/environment-configuration-settings.rst`:
- Around line 1963-1968: Replace the ".. note::" admonition that contains the
required reindex sentence with an ".. important::" admonition so the sentence
beginning "If you enable this setting on a server that was previously running
Elasticsearch or AWS OpenSearch, you must purge and rebuild the search indexes
for existing content to be properly searchable with the new analyzers." is
highlighted as a mandatory prerequisite; update the block that also references
Elasticsearch/OpenSearch setup docs (the same paragraph) to use ".. important::"
instead of ".. note::".
- Around line 1949-1951: The documentation currently says plugins "must" be
installed before enabling MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS but
elsewhere (around the MM_ELASTICSEARCHSETTINGS_ENABLECJKANALYZERS handling) you
document that enabling without detected plugins only logs a warning; change the
wording at the earlier occurrence to match actual behaviour—replace "must be
installed before enabling" with language such as "should be installed (a warning
is logged if not detected)" or "recommended; enabling without them will log a
warning" so the docs are consistent with the warning behavior.
- Line 1967: The sentence starting "If you enable this setting on a server that
was previously running Elasticsearch or AWS OpenSearch..." links only to the
Elasticsearch setup; update the link to reference OpenSearch setup as well
(either by adding an additional :doc: link to the OpenSearch doc or replacing
the single link with a combined sentence that points to both :doc:`Elasticsearch
setup </administration-guide/scale/elasticsearch-setup>` and the corresponding
OpenSearch setup doc), ensuring the rebuild guidance accurately covers both
Elasticsearch and AWS OpenSearch.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4f043fac-e6ca-4d36-b847-b23ad4036069

📥 Commits

Reviewing files that changed from the base of the PR and between 2869b73 and bfc6bc7.

📒 Files selected for processing (3)
  • source/administration-guide/configure/environment-configuration-settings.rst
  • source/administration-guide/scale/elasticsearch-setup.rst
  • source/administration-guide/scale/opensearch-setup.rst
✅ Files skipped from review due to trivial changes (2)
  • source/administration-guide/scale/elasticsearch-setup.rst
  • source/administration-guide/scale/opensearch-setup.rst

@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA bfc6bc7

Copy link
Copy Markdown
Member

@amyblais amyblais left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@amyblais
Copy link
Copy Markdown
Member

My apologies on that. I keep accidentally pulling in changelog and release note commits on some of these without realizing, but am keeping a closer eye for it. All should be fixed now!

I also made a few additional updates following the suggestions of the reviewer personas.

@Combs7th No worries, thank you!

@esethna esethna merged commit 26b073b into master Apr 17, 2026
6 checks passed
@esethna esethna deleted the claude/issue-8829-20260324-2302 branch April 17, 2026 19:51
@github-actions
Copy link
Copy Markdown
Contributor

Newest code from mattermost has been published to preview environment for Git SHA 560ec44

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1: Dev Review Requires review by a core commiter 2: Editor Review Requires review by an editor Guidance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

support for Elastic(Open)search CJK analysis plugins

4 participants