Groonga 10.0.6 has been released
Groonga 10.0.6 has been released!
How to install: Install
Changes
Here are important changes in this release:
-
logical_range_filter Improved search plan for large data.
-
Normally,
logical_range_filter
is faster thanlogical_select
. However, it had been slower thanlogical_select
in the below case.- If Groonga can't get the number of required records easily, it has the feature that switches index search from sequential search.
- Normally,
logical_range_filter
uses a sequential search when records of search target are many.
- Normally,
- The search process for it is almost the same as
logical_select
if the above switching occurred. - So,
logical_range_filter
is severalfold slower thanlogical_select
in the above case if the search target is large data. Becauselogical_range_filter
executes sort after the search.
- If Groonga can't get the number of required records easily, it has the feature that switches index search from sequential search.
- If we search for large data, Groonga easily use sequential search than until now since this release.
- Therefore,
logical_range_filter
will improve performance. Because the case of the search process almost the same aslogical_select
decreases.
-
-
[httpd] Updated bundled nginx to 1.19.1.
-
Modify how to install into Debian GNU/Linux.
- We modify to use
groonga-apt-source
instead ofgroonga-archive-keyring
. -
Because the
lintian
command recommends usingapt-source
if a package that it puts files under the/etc/apt/sources.lists.d/
.- The
lintian
command is the command which checks for many common packaging errors. -
Please also refer to the following for the details about installation procedures.
- The
- We modify to use
-
logical_select Added a support for
highlight_html
andhighlight_full
. -
Added support for recycling the IDs of records that are deleted when an array without value space delete.
- If an array that doesn't have value space is deleted, deleted IDs are never recycled.
-
Groonga had used large storage space by large ID. Because it uses large storage space by itself.
- For example, large ID is caused after many adds and deletes like Mroonga's
mroonga_operations
- For example, large ID is caused after many adds and deletes like Mroonga's
-
select Improved performance of full-text-search without index.
-
function Improved performance for calling of function that all arguments a variable reference or literal.
-
indexing Improved performance of offline index construction by using token column.
-
Improved performance for
"_score = func(...)"
.- The performance when the
_score
value calculate by using only function like"_score = func(...)"
improved.
- The performance when the
-
Fixed a bug that garbage may be included in response after response send error.
- It may occur if a client didn't read all responses and closed the connection.
logical_select Added a support for highlight_html
.
-
highlight_html
andhighlight_full
can be used in only--output-columns
inselect
until now. -
They can be also used in
logical_select
since this release as below.plugin_register sharding plugin_register functions/number table_create Memos_20170315 TABLE_NO_KEY column_create Memos_20170315 timestamp COLUMN_SCALAR Time column_create Memos_20170315 content COLUMN_SCALAR Text table_create Memos_20170316 TABLE_NO_KEY column_create Memos_20170316 timestamp COLUMN_SCALAR Time column_create Memos_20170316 content COLUMN_SCALAR Text table_create Memos_20170317 TABLE_NO_KEY column_create Memos_20170317 timestamp COLUMN_SCALAR Time column_create Memos_20170317 content COLUMN_SCALAR Text load --table Memos_20170315 [ {"timestamp": "2017/03/15 00:00:00", "content": "Groonga is fast."}, {"timestamp": "2017/03/15 01:00:00", "content": "Mroonga is fast and easy to use."} ] load --table Memos_20170316 [ {"timestamp": "2017/03/16 10:00:00", "content": "PGroonga is fast and easy to use."}, {"timestamp": "2017/03/16 11:00:00", "content": "Rroonga is fast and easy to use."} ] logical_select Memos \ --shard_key timestamp \ --query 'content:@easy' \ --output_columns 'content, highlight_html(content)' [ [ 0, 0.0, 0.0 ], [ [ [ 3 ], [ [ "content", "Text" ], [ "highlight_html", null ] ], [ "Mroonga is fast and easy to use.", "Mroonga is fast and <span class=\"keyword\">easy</span> to use." ], [ "PGroonga is fast and easy to use.", "PGroonga is fast and <span class=\"keyword\">easy</span> to use." ], [ "Rroonga is fast and easy to use.", "Rroonga is fast and <span class=\"keyword\">easy</span> to use." ] ] ] ]
Conclusion
Let's search by Groonga!