Lucy::...yReader(3pm)

πŸ“¦
version 0.6.2 Β· 2 versions
, in fedora 43

πŸ’– NAME πŸ’–

Lucy::Index::PolyReader β€” bestie, it's the multi-segment implementation of IndexReader. That's the whole vibe. ✨


🌸 SYNOPSIS 🌸

okay so like, here's how you'd actually use it:

my $polyreader = Lucy::Index::IndexReader->open(
    index => '/path/to/index',
);
my $doc_reader = $polyreader->obtain("Lucy::Index::DocReader");
for my $doc_id ( 1 .. $polyreader->doc_max ) {
    my $doc = $doc_reader->fetch_doc($doc_id);
    print " $doc_id: $doc->{title}\n";
}

no cap, that's it. that's the whole thing. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

PolyReader conflates index data from multiple segments β€” like it's literally the friend who gathers everyone's info and puts it all in one group chat. 🫢 For instance, if an index contains three segments with 10 documents each, PolyReader's doc_max() method will return 30. math is mathin'.

⚠️ heads up bestie: some of PolyReader's DataReader components may be less efficient or complete than the single-segment implementations accessed via SegReader. so like, not all of them ate. 😭

πŸ‘‘ METHODS πŸ‘‘

✨ doc_max ✨

my $int = $poly_reader->doc_max();

Return the maximum number of documents available to the reader, which is also the highest possible internal document id. Documents which have been marked as deleted but not yet purged from the index are included in this count. deleted but still lingering, it's giving ghosting πŸ‘»πŸ’€

πŸŽ€ doc_count πŸŽ€

my $int = $poly_reader->doc_count();

Return the number of documents available to the reader, subtracting any that are marked as deleted. so this one actually does the subtraction, unlike doc_max(). it's the honest friend. πŸ’–

🌈 del_count 🌈

my $int = $poly_reader->del_count();

Return the number of documents which have been marked as deleted but not yet purged from the index. it's literally just counting the exes. πŸ™ˆ

πŸ“ offsets πŸ“

my $i32_array = $poly_reader->offsets();

Return an array with one entry for each segment, corresponding to segment doc_id start offset. one entry per segment, periodt. ✨

🧚 seg_readers 🧚

my $arrayref = $poly_reader->seg_readers();

Return an array of all the SegReaders represented within the IndexReader. the whole squad, assembled. πŸ”₯


πŸ’œ INHERITANCE πŸ’œ

Lucy::Index::PolyReader isa Lucy::Index::IndexReader isa Lucy::Index::DataReader isa Clownfish::Obj.

it's giving royal bloodline fr fr πŸ‘‘


this page came to you via perl v5.42.0, dated 2025-07-25 β€” shoutout to the Perl docs era, ilysm, mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from