docs(install): correct the 15.8 upgrade guide against the implementation - #472
Merged
Conversation
Reviewed ja/15.8/install/upgrade.rst against the Fess, docker-fess and corelib sources and fixed the errors it carried over from 15.7, then ported the same changes to de/en/es/fr/ko/zh-cn. Corrections: - OpenSearch is 3.8.0 for Fess 15.8, not 3.7.0. fess-parent declares <opensearch.version>3.8.0</opensearch.version> and fess/plugin.xml pins all four CodeLibs plugins at 3.8.0 (and knn at 3.8.0.0). - Fess is distributed as a ZIP only. The targz-bin.xml assembly has been commented out since 2015 and the GitHub releases carry .deb/.rpm/.zip, so the documented "wget fess-15.8.0.tar.gz && tar -xzf" was a 404. - The Docker volume backup used bare volume names. Compose prefixes them with the project name, so "docker run -v search01_data:/data" creates a new empty volume, exits 0, and writes an empty archive that looks like a successful backup. - /etc/fess/* is preserved on RPM only. The DEB conffiles list holds just /etc/default/fess, /etc/init.d/fess and the systemd unit, so dpkg -i overwrites /etc/fess/fess_config.properties on upgrade. - The two .bulk descriptions were swapped. fess_basic_config is an alias over 19 config indices; fess_config is a superset of 25 that adds crawling_info, failure_url, job_log and thumbnail_queue. - fess.json is the index settings and doc.json the document mapping; they were described as one item. - Step 3 never restored fess_config.properties or log4j2.xml even though step 1 backed them up, and omitted plugins, themes and the embedded OpenSearch data directory. Additions: - Fess 15.8 always writes index.knn and a content_chunk_vector knn_vector field, so a k-NN capable OpenSearch is mandatory and index creation fails without it. Step 4 is no longer labelled optional. - Upgrading from 14.x crosses an OpenSearch major version (2.x to 3.x). - Restore only accepts *.bulk, system*.properties, gsa*.xml, fess*.json and doc*.json; the *.ndjson log files are rejected. Uploading an old fess.json or doc.json overwrites the new release's index definitions, and an uploaded system.properties is only held in memory. - A Docker rollback procedure, which was missing entirely. - Per-install-method log paths, and the 15.8 plugin migration work (fess-webapp-semantic-search removal, the fess-llm-* split). - bin/fess -p writes a pid file; no stop script ships with the archive. Also pads the CJK heading underlines in ja and zh-cn. docutils measures a title by display width, counting CJK as two columns, so those headings were emitting real "Title underline too short" warnings. All seven files now parse with no docutils warnings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reviewed
15.8/install/upgrade.rstagainst the actual implementation (fess,fess-parent,docker-fess,corelib) and fixed what it had carried over unchanged from 15.7. Applied to all seven languages.Most of these are copy-paste survivors:
create_version.shrewrites the Fess version token but not embedded dependency versions or procedures, so the page had drifted from the code.Corrections
fess-15.8.0.tar.gz+tar -xzffess-15.8.0.zip+unzip-v search01_data:/data-v ${PROJECT}_search01_data:/data/etc/fess/*on upgradefess_basic_config.bulkfess_config.bulkfess.json/doc.jsonEvidence:
targz-bin.xmlhas been commented out infess/pom.xmlsince 2015; onlyzip-bin.xmlis active. Thefess-15.7.0release carries exactly.deb,.rpm,.zip. The documented download was a 404.fess-parent/pom.xmldeclares<opensearch.version>3.8.0</opensearch.version>, andfess/plugin.xmlpinsanalysis-fess,analysis-extension,minhashandconfigsyncat 3.8.0 (plusknnat 3.8.0.0). Installing 3.7.0 plugins would fail the version check the page itself warns about.docker run -v search01_data:/datatherefore creates a new empty volume, exits 0, and writes an empty tarball that looks like a successful backup./etc/fess.src/packaging/deb/scripts/conffileslists only/etc/default/fess,/etc/init.d/fessand the systemd unit, sodpkg -ioverwritesfess_config.properties. RPM does preserve it via<configuration>noreplace</configuration>.fess_basic_configis an alias over 19 config indices;fess_configis a superset of 25 that addscoordinator,crawling_info,crawling_info_param,failure_url,job_logandthumbnail_queue.fess_config.propertiesorlog4j2.xmleven though step 1 told you to back them up.Additions
fess_indices/fess.jsonalways sends"knn": trueandknn.derived_source.enabled, anddoc.jsonalways declarescontent_chunk_vector, regardless of whether chunk vector search is enabled. Index creation fails without the plugin. Step 4 is no longer labelled "if necessary".*.bulk,system*.properties,gsa*.xml,fess*.jsonanddoc*.json; the four*.ndjsonlog files are rejected. Uploading an oldfess.json/doc.jsonoverwrites the shipped index definitions, and an uploadedsystem.propertiesis loaded into memory only and lost on restart.logs/fess.log,/var/log/fess/fess.log,docker compose logs), plusfess-crawler.log/audit.log/searchlog.log.fess-webapp-semantic-searchremoval and thefess-llm-*split.bin/fess -pwrites a pid file; no stop script ships with the archive.Upgrade Guide -> https://fess.codelibs.org/ja/link, which was circular (this page is the upgrade guide) and pointed at the Japanese site from the English, Spanish and French pages, with:doc:prerequisites``.Verification
jaandzh-cn, which were emitting realTitle underline too shortwarnings (docutils counts CJK as two columns);install-docker.rstandinstall-linux.rstwere already normalized.:doc:/:ref:targets) are byte-identical across languages.3.7.0and nofess.codelibs.org/ja/remain in any language.Follow-up (not in this PR)
3.7.0is still stale in six sibling pages —prerequisites,install,install-linux,install-windows,run,uninstall— across all 7 languages. Worth a mechanical sweep so the install set stays self-consistent with this page. Two other pre-existing errors surfaced during review:install-linux.rstmisquotesFESS_DICTIONARY_PATHas/var/lib/opensearch/data/config/(the shipped value is/var/lib/opensearch/config/), andconfig/crawler-advanced.rstwrites the crawler log asfess_crawler.log(the real name isfess-crawler.log).