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:​from​Search​Service stage fetches the set of documents to analyze from an external search engine. This release comes with the search​Service:​solr component, 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-wikipedia example project now reads the sharded Wikipedia dumps published at dumps.wikimedia.org/other/cirrus_search_index/ (the previous cirrussearch dumps 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. See datasets/dataset-wikipedia/​R​E​A​D​M​E.txt for 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.vector module 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 --host option of the server command is given a host name that resolves to more than one address (for example, localhost resolving to 127.0.0.1 and :​:​1 on 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 Null​Pointer​Exception thrown by the labels:​all stage 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-autoindex example project, now at version 4.