> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions.md).

# Mroonga User-Defined Functions

{% columns %}
{% column %}
{% content-ref url="/pages/HTOptUOzMQLQgllEpMqF" %}
[Creating Mroonga User-Defined Functions](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/creating-mroonga-user-defined-functions.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Instructions on how to manually create Mroonga's UDFs if they were not automatically installed, ensuring full functionality.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/BZ3w7HMfxTjvUws4oXef" %}
[last\_insert\_grn\_id](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/last_insert_grn_id.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
This UDF returns the unique ID assigned by Groonga for the last inserted record, useful for tracking internal record identifiers.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/wA0eHpSB72pKC3Y0Cie7" %}
[mroonga\_command](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_command.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Execute raw Groonga commands directly from MariaDB using this UDF, allowing for advanced administration and inspection of the Groonga database.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/CGciNHcETzDCJ0inlet8" %}
[mroonga\_escape](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_escape.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
This function escapes special characters in a string to make it safe for use in Mroonga full-text search queries.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/NeWShxQcGfrv0oF5Y8Di" %}
[mroonga\_highlight\_html](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_highlight_html.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Highlight keywords within a text string using HTML tags, making it easy to display search results with matched terms emphasized.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/BlWwiFMy0wpc7Z36x7Aa" %}
[mroonga\_normalize](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_normalize.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
This UDF normalizes a given string using Groonga's normalizers, ensuring consistent text processing for accurate indexing and searching.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/ff7yPGmo068EHSDUQPxR" %}
[mroonga\_snippet](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_snippet.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
This function extracts a snippet of text surrounding a keyword from a document, providing necessary context for search result displays.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/rZwLuKxJzVZ71vVBemSA" %}
[mroonga\_snippet\_html](/docs/server/server-usage/storage-engines/mroonga/mroonga-user-defined-functions/mroonga_snippet_html.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Similar to mroonga\_snippet, this function generates HTML-formatted snippets, automatically wrapping matched keywords in tags for web display.
{% endcolumn %}
{% endcolumns %}
