Mroonga blog


Mroonga 3.04 has been released!

Mroonga 3.04 has been released!

Mroonga is a MySQL storage engine that supports fast fulltext search and geolocation search. It is CJK ready. It uses groonga as a storage and fulltext search engine.

How to install: Install

There are three topics for this release:

  • Supported W pragma
  • Supported Debian 8.0 (jessie)

Supported W pragma

This release began to support 'W' pragma.

You can specify target section and weight for the head of query.

Here is the syntax of 'W' pragma:


Here is the sample schema:

CREATE TABLE diaries (
  title VARCHAR(255),
  content TEXT,
  FULLTEXT INDEX (title, content)

Here is the sample data:

INSERT INTO diaries VALUES(1, "Hello", "Hello to groonga.");
INSERT INTO diaries VALUES(2, "groonga", "Today's groonga.");
INSERT INTO diaries VALUES(3, "mroonga", "Today's mroonga.");

Let's search groonga with 'W' pragma.

Note that the value of section about FULLTEXT INDEX is assigned by following rule:

  • 0 -> 'title' column
  • 1 -> 'content' column

Consider the case that 10 weight is given to 'title' column, and 2 weight is given to 'content' column.

Here is the query such a case:

SELECT *, MATCH(title, content) AGAINST("*W0:10,1:2 +groonga" in BOOLEAN MODE) AS score
  FROM diaries
  WHERE MATCH(title, content) AGAINST("*W0:10,1:2 +groonga" in BOOLEAN MODE);

Here is the output result:

id    title   content score
1 Hello   Hello to groonga.   2
2 groonga Today's groonga.    12

The score value of 'id 2' is larger than 'id 1', because title column is more biased than content column by the value of weight.

Supported Debian 8.0 (jessie)

As Debian 7.0 (wheezy) has been released as a stable, we began to support new Debian testing (Debian 8.0 jessie).

We will support old stable (squeeze) for a while, but we recommends to migrate to wheezy as soon as possible.

We will announce later how long supports them.


See Release 3.04 - 2013/05/29 about detailed changes since 3.03.

Let's search by mroonga!