{
    "content": [
        {
            "type": "text",
            "text": "# Plucene (man)\n\n## NAME\n\nPlucene - A Perl port of the Lucene search engine\n\n## DESCRIPTION\n\nPlucene is a fully-featured and highly customizable search engine toolkit based on the Lucene\nAPI. (<http://jakarta.apache.org/lucene>)\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS** (2 subsections)\n- **DESCRIPTION**\n- **EXTENSIONS**\n- **DOCUMENTATION**\n- **COMPATIBILITY**\n- **MISSING FEATURES**\n- **MAILING LIST**\n- **AUTHORS**\n- **THANKS**\n- **LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Plucene",
        "section": "",
        "mode": "man",
        "summary": "Plucene - A Perl port of the Lucene search engine",
        "synopsis": "",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "Create Documents by adding Fields:",
                        "lines": 4
                    },
                    {
                        "name": "Choose Your Analyser and add documents to an Index Writer",
                        "lines": 26
                    }
                ]
            },
            {
                "name": "DESCRIPTION",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "EXTENSIONS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "DOCUMENTATION",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "COMPATIBILITY",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "MISSING FEATURES",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "MAILING LIST",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "AUTHORS",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "THANKS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Plucene - A Perl port of the Lucene search engine\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "",
                "subsections": [
                    {
                        "name": "Create Documents by adding Fields:",
                        "content": "my $doc = Plucene::Document->new;\n$doc->add(Plucene::Document::Field->Text(content => $content));\n$doc->add(Plucene::Document::Field->Text(author => \"Your Name\"));\n"
                    },
                    {
                        "name": "Choose Your Analyser and add documents to an Index Writer",
                        "content": "my $analyzer = Plucene::Analysis::SimpleAnalyzer->new();\nmy $writer = Plucene::Index::Writer->new(\"myindex\", $analyzer, 1);\n\n$writer->adddocument($doc);\nundef $writer; # close\n\nSearch by building a Query\n\nmy $parser = Plucene::QueryParser->new({\nanalyzer => Plucene::Analysis::SimpleAnalyzer->new(),\ndefault  => \"text\" # Default field for non-specified queries\n});\nmy $query = $parser->parse('author:\"Your Name\"');\n\nThen pass the Query to an IndexSearcher and collect hits\n\nmy $searcher = Plucene::Search::IndexSearcher->new(\"myindex\");\n\nmy @docs;\nmy $hc = Plucene::Search::HitCollector->new(collect => sub {\nmy ($self, $doc, $score) = @;\npush @docs, $searcher->doc($doc);\n});\n\n$searcher->searchhc($query => $hc);\n"
                    }
                ]
            },
            "DESCRIPTION": {
                "content": "Plucene is a fully-featured and highly customizable search engine toolkit based on the Lucene\nAPI. (<http://jakarta.apache.org/lucene>)\n\nIt is not, in and of itself, a functional search engine - you are expected to subclass and\ntie all the pieces together to suit your own needs.  The synopsis above gives a rough\nindication of how to use the engine in simple cases. See Plucene::Simple for one example of\ntying it all together.\n\nThe tests shipped with Plucene provide a variety of other examples of how use this.\n",
                "subsections": []
            },
            "EXTENSIONS": {
                "content": "Plucene comes shipped with some default Analyzers. However it is expected that users will\nwant to create Analyzers to meet their own needs. To avoid namespace corruption, anyone\nreleasing such Analyzers to CPAN (which is encouraged!) should place them in the namespace\nPlucene::Plugin::Analyzer::.\n",
                "subsections": []
            },
            "DOCUMENTATION": {
                "content": "Although most of the Perl modules should be well documented, the Perl API mirrors Lucene's to\nsuch an extent that reading Lucene's documentation will give you a good idea of how to do\nmore advanced stuff with Plucene. See particularly the ONJava articles\n<http://www.onjava.com/pub/a/onjava/2003/01/15/lucene.html> and\n<http://www.onjava.com/pub/a/onjava/2003/03/05/lucene.html>. These are brilliant\nintroductions to the concepts surrounding Lucene, how it works, and how to extend it.\n",
                "subsections": []
            },
            "COMPATIBILITY": {
                "content": "For the most part Lucene and Plucene indexes are created in the same manner. However, due to\ncurrent implementation details, the indexes will generally not be compatible. It should\ntheoretically be possible to convert index files in either direction between Plucene and\nLucene, but no tools are currently provided to do so.\n\nAs Plucene is still undergoing development, we cannot guarantee index format compatibility\nacross releases. If you're using Plucene in production code, you need to ensure that you can\nrecreate the indexes.\n",
                "subsections": []
            },
            "MISSING FEATURES": {
                "content": "The following features have not yet been fully implemented:\n\n•   Wildcard searches\n\n•   Range searches\n",
                "subsections": []
            },
            "MAILING LIST": {
                "content": "Bug reports, patches, queries, discussion etc should be addressed to the mailing list. More\ninformation on the list can be found at:\n\n<http://www.kasei.com/mailman/listinfo/plucene>\n",
                "subsections": []
            },
            "AUTHORS": {
                "content": "Initially ported by Simon Cozens and Marc Kerr.\n\nCurrently maintained by Tony Bowden and Marty Pauley.\n\nOriginal Java Lucene by Doug Cutting and others.\n",
                "subsections": []
            },
            "THANKS": {
                "content": "The initial development and ongoing maintenance of Plucene has been funded and supported by\nKasei <http://www.kasei.com/>\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "This software is licensed under the same terms as Perl itself.\n\n\n\nperl v5.26.1                                 2018-04-02                                 Plucene(3pm)",
                "subsections": []
            }
        }
    }
}