{
    "content": [
        {
            "type": "text",
            "text": "# Plucene::Analysis::PorterStemFilter (perldoc)\n\n## NAME\n\nPlucene::Analysis::PorterStemFilter - Porter stemming on the token stream\n\n## SYNOPSIS\n\n# isa Plucene::Analysis:::TokenFilter\nmy $token = $porterstemfilter->next;\n\n## DESCRIPTION\n\nThis class transforms the token stream as per the Porter stemming algorithm.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Plucene::Analysis::PorterStemFilter",
        "section": "",
        "mode": "perldoc",
        "summary": "Plucene::Analysis::PorterStemFilter - Porter stemming on the token stream",
        "synopsis": "# isa Plucene::Analysis:::TokenFilter\nmy $token = $porterstemfilter->next;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 20,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Plucene::Analysis::PorterStemFilter - Porter stemming on the token stream\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "# isa Plucene::Analysis:::TokenFilter\n\nmy $token = $porterstemfilter->next;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This class transforms the token stream as per the Porter stemming algorithm.\n\nNote: the input to the stemming filter must already be in lower case, so you will need to use\nLowerCaseFilter or LowerCaseTokenizer farther down the Tokenizer chain in order for this to work\nproperly!\n\nThe Porter Stemmer implements Porter Algorithm for normalization of English words by stripping\ntheir extensions and is used to generalize the searches. For example, the Porter algorithm maps\nboth 'search' and 'searching' (as well as 'searchnessing') to 'search' such that a query for\n'search' will also match documents that contains the word 'searching'.\n\nNote that the Porter algorithm is specific to the English language and may give unpredictable\nresults for other languages. Also, make sure to use the same analyzer during the indexing and\nthe searching.\n\nYou can find more information on the Porter algorithm at www.tartarus.org/~martin/PorterStemmer.\n\nA nice online demonstration of the Porter algorithm is available at\nwww.scs.carleton.ca/~dquesnel/java/stuff/PorterApplet.html.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "next\nmy $token = $porterstemfilter->next;\n\nReturns the next input token, after being stemmed.\n",
                "subsections": []
            }
        }
    }
}