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!