BloGroonga

2014-11-29

Groonga 4.0.8 has been released

Groonga 4.0.8 has been released!

How to install: Install

Changes

In this release, there are following topics:

  • [experimental] Supported auto sequantial search mode for in_values and between
  • [experimental] Supported drilldown by multiple keys
  • [experimental] Supported range_filter command
  • Default HTTP server package is changed to groonga-httpd

Supported auto sequantial search mode for in_values and between

In this release, auto sequantial search mode is supported for in_values and between.

There is a case that sequential search is faster than index search when the number of narrowed down records is small enough in contrast to the number of expected records to narrow down by in_values with AND operation which use indexes.

The value of GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO is used as threshold whether Groonga execute sequential search or search with indexes in such a case.

This behavior is customized by following environment variable.

in_values():

# Don't use auto sequential search
GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=-1
# Set threshold to 0.02
GRN_IN_VALUES_TOO_MANY_INDEX_MATCH_RATIO=0.02

between():

# Don't use auto sequential search
GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=-1
# Set threshold to 0.02
GRN_BETWEEN_TOO_MANY_INDEX_MATCH_RATIO=0.02

Supported drilldown by multiple keys

In this release, Groonga has supported drilldown by multiple keys.

The syntax is extended to support this feature.

for keys:

--drilldown[LABEL1].keys COLUMN1,COLUMN2 for keys,

for output_columns:

--drilldown[LABEL1].output_columns _value.COLUMN1,_value.COLUMN2,_nsubrecs

In the previous versions, a client application must implement by oneself for drilldown by multiple keys.

Use _key[N] for --drilldown[LABEL1].output_columns to show original value of key in records.

Note that this feature requires version 2 of command because it extends syntax. Don't forget to specify –command_version 2.

Supported range_filter command

In this release, range_filter command is added.

It is faster than select command to fetch specific range of records in most cases, because it doesn't returns the number of matched records.

There are limitations which doesn't support drilldown and so on, because it need to know the number of matched records.

Thus, range_filter is suitable for extracting first N records in specific range for ranking or something else.

Default HTTP server package is changed to groonga-httpd

In this release, groonga-httpd became default HTTP server package. Groonga-server-http package is deprecated.

Note that groonga HTTP server functionality itself is still exists in Groonga.

If you just want to use simple HTTP server in traditional way, specify proper arguments by command line for groonga command.

Here is the sample for simple HTTP server.

% groonga -s --protocol http testdb/db

Conclusion

See Release 4.0.8 2014/11/29 about detailed changes since 4.0.7.

Let's search by Groonga!