5.5.3. mroonga_highlight_html()

バージョン 7.05 で追加.

5.5.3.1. 概要

mroonga_highlight_html() は対象のテキストの中の指定されたキーワードをハイライトします。各キーワードを <span class="keyword">...</span> で囲み、<> といったHTMLの特殊文字をエスケープします。この関数の結果は、安全なHTMLとして使うことができます。

5.5.3.2. 構文

mroonga_highlight_html() には必須引数と省略可能引数とがあります。:

mroonga_highlight_html(text, query AS query)

mroonga_highlight_html(text, keyword1, ..., keywordN)

AS query はとても重要です。クエリーを使ってキーワードを抽出する場合に指定する必要があります。

5.5.3.3. 使いかた

以下は'mroonga OR groonga'というクエリーによって、対象テキストの中の'mroonga'と'groonga'をハイライトする例です。 AS query を指定する必要があります。:

SELECT mroonga_highlight_html('Mroonga is the Groonga based storage engine.',
                              'mroonga OR groonga' AS query) AS highlighted;

実行結果はこちらです。:

+--------------------------------------------------------------------------------------------------------+
| highlighted                                                                                            |
+--------------------------------------------------------------------------------------------------------+
| <span class="keyword">Mroonga</span> is the <span class="keyword">Groonga</span> based storage engine. |
+--------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

'mroonga'と'groonga'というキーワードで対象となるテキストのハイライトをするクエリーです。

SELECT mroonga_highlight_html('Mroonga is the Groonga based storage engine.',
                              'mroonga', 'groonga') AS highlighted;

実行結果はこちらです。:

+--------------------------------------------------------------------------------------------------------+
| highlighted                                                                                            |
+--------------------------------------------------------------------------------------------------------+
| <span class="keyword">Mroonga</span> is the <span class="keyword">Groonga</span> based storage engine. |
+--------------------------------------------------------------------------------------------------------+

5.5.3.4. 引数

5.5.3.4.1. 必須引数

必須引数が1つあります。

5.5.3.4.1.1. text

ハイライトされるカラム名もしくは文字列が必要です。

5.5.3.4.2. 省略可能引数

いくつか省略可能な引数があります。

5.5.3.4.2.1. query

詳細は Groongaのクエリー構文 を参照してください。

クエリーを使ってキーワードを抽出するには、以下のように AS query を指定する必要があります。:

SELECT mroonga_highlight_html('...', 'mroonga OR groonga' AS query);

5.5.3.4.2.2. keyword

ハイライトする0個以上のキーワードを指定します。

5.5.3.5. 返り値

ハイライトされたHTMLを返します。省略可能な引数が指定されない場合、text に含まれるHTMLの特殊文字 <> をエスケープします。