2.7.x release notes
Release notes for Lingo4G 2.7.x.
Version 2.7.0
Lingo4G 2.7.0 adds support for fetching documents from external search services (such as Apache Solr), introduces a project-level repository of analysis requests and adds support for Java 25.
Compatibility
- Project descriptor
-
Updates not required.
- Reindexing
-
Not required. Lingo4G 2.7.0 works with indices created by Lingo4G 2.6.x.
- Analysis request JSONs
-
Updates not required. Analysis requests written for Lingo4G 2.6.x work unchanged with Lingo4G 2.7.0.
New features
- External search services as document sources
-
The new
documents:fromSearchServicestage fetches the set of documents to analyze from an external search engine. This release comes with thesearchService:solrcomponent, which retrieves search results from an Apache Solr instance and maps them to documents in the Lingo4G index. - Analysis requests repository
-
Each Lingo4G project can now include a repository of analysis requests. Use the repository to keep, organize and share the analysis requests you develop for your project.
- Masking of sensitive properties
-
Sensitive component properties, such as search service credentials or connection URLs, are now masked when Lingo4G outputs the effective request or project configuration JSONs.
Improvements
- Wikipedia data set reads the new CirrusSearch index dumps
-
The
dataset-wikipediaexample project now reads the sharded Wikipedia dumps published atdumps.wikimedia.org/other/cirrus_search_index/(the previouscirrussearchdumps are no longer updated). All shards found in the input directory are indexed, bzip2-compressed input is read directly and redirect-page stubs are skipped. Seedatasets/dataset-wikipedia/README.txtfor download instructions. - HTTP client overhaul
-
All internal HTTP communication now uses the HTTP client built into the Java runtime. This removes the dependency on the Apache HttpComponents library and fixes a number of corner cases in URI and query parameter handling, SSL certificate chain validation and HTTP redirect processing.
- Diagnostics improvements
-
Lingo4G now fails more gracefully on startup if the JVM does not provide the
jdk.incubator.vectormodule and includes the offending URL in exception messages thrown when remote requests fail. - Server binds to all addresses of the provided host name
-
When the
--hostoption of theservercommand is given a host name that resolves to more than one address (for example,localhostresolving to127.0.0.1and::1on dual-stack systems), the server now binds to all the resolved addresses instead of just the system-preferred one. The startup log prints service URLs for each bound address. - Bug fixes
-
The 2.7.0 release fixes a
NullPointerExceptionthrown by thelabels:allstage when the list of terms to process was empty and corrects a number of warnings and build errors on Windows. - USPTO data set updates
-
The example USPTO data set descriptor and documentation now reflect the changed layout of the USPTO bulk data download sites.
Dependency updates
- Java 25 support
-
Lingo4G 2.7.0 adds support for Java 25.
- Library updates
-
Third-party dependencies have been updated, including Apache Lucene (indices created by earlier Lingo4G versions remain readable), Eclipse Jetty, the embedded HTTP server, now at version 12, and Apache Tika, used by the
dataset-autoindexexample project, now at version 4.