Security Advisories (4)
CVE-2026-61484 (2026-08-05)

** UNSUPPORTED WHEN ASSIGNED ** Deserialization of Untrusted Data vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61483 (2026-08-05)

Apache Lucy: QueryParser unbounded recursion on deeply-nested query -> C-stack-overflow DoS ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61485 (2026-08-05)

Apache Lucy: Freezer/InStream deserialization bomb - unbounded allocation reading an index ** UNSUPPORTED WHEN ASSIGNED ** Uncontrolled Recursion vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

CVE-2026-61486 (2026-08-05)

Apache Lucy: stack-buffer-overflow in JSON parser error reporter on malformed input ** UNSUPPORTED WHEN ASSIGNED ** Stack-based Buffer Overflow vulnerability in Apache Lucy. This issue affects Apache Lucy: all versions. As this project is retired, we do not plan to release a version that fixes this issue. Users are recommended to find an alternative or restrict access to the instance to trusted users. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.

NAME

Lucy::Analysis::Analyzer - Tokenize/modify/filter text.

SYNOPSIS

# Abstract base class.

DESCRIPTION

An Analyzer is a filter which processes text, transforming it from one form into another. For instance, an analyzer might break up a long text into smaller pieces (RegexTokenizer), or it might perform case folding to facilitate case-insensitive search (Normalizer).

CONSTRUCTORS

new

package MyAnalyzer;
use base qw( Lucy::Analysis::Analyzer );
our %foo;
sub new {
    my $self = shift->SUPER::new;
    my %args = @_;
    $foo{$$self} = $args{foo};
    return $self;
}

Abstract constructor. Takes no arguments.

ABSTRACT METHODS

transform

my $inversion = $analyzer->transform($inversion);

Take a single Inversion as input and returns an Inversion, either the same one (presumably transformed in some way), or a new one.

  • inversion - An inversion.

METHODS

transform_text

my $inversion = $analyzer->transform_text($text);

Kick off an analysis chain, creating an Inversion from string input. The default implementation simply creates an initial Inversion with a single Token, then calls transform(), but occasionally subclasses will provide an optimized implementation which minimizes string copies.

  • text - A string.

split

my $arrayref = $analyzer->split($text);

Analyze text and return an array of token texts.

  • text - A string.

dump

my $obj = $analyzer->dump();

Dump the analyzer as hash.

Subclasses should call dump() on the superclass. The returned object is a hash which should be populated with parameters of the analyzer.

Returns: A hash containing a description of the analyzer.

load

my $obj = $analyzer->load($dump);

Reconstruct an analyzer from a dump.

Subclasses should first call load() on the superclass. The returned object is an analyzer which should be reconstructed by setting the dumped parameters from the hash contained in dump.

Note that the invocant analyzer is unused.

  • dump - A hash.

Returns: An analyzer.

INHERITANCE

Lucy::Analysis::Analyzer isa Clownfish::Obj.