|
From: Kentaro H. <ha...@cl...> - 2016-06-29 07:45:28
|
Groonga 6.0.5 has been released! http://groonga.org/docs/news.html#release-6-0-5 Install: http://groonga.org/docs/install.html Charcteristics: http://groonga.org/docs/characteristic.html The topics in this release: * Improved fuzzy_search to specify max_distance easily * Supported query_expand command * Reduced build time from source archive This release includes groonga-httpd security fix, so please upgrade Groonga! # Topics ## Improved fuzzy_search to specify max_distance easily fuzzy_search itself was introduced since Groonga 6.0.0, but it is not easy to customize max_distance. When executing fuzzy search, max_distance parameter is often changed to customize behavior of fuzzy search. In the previous versions, only object literal was accepted as the 3rd argument. It was annoying to specify {'max_distance': N} as the 3rd argument every time to customize it. Here is the example how to customize max_distance. Before(Groonga 6.0.0 - 6.0.4): > fuzzy_search(column, _key, {'max_distance': 2}) After(Groonga 6.0.5 or later): > fuzzy_search(column, _key, 2) ## Supported query_expand command In this release, query_expand command is supported. There is a plugin for Groonga to expand query - QueryExpanderTSV. But there is no easy way to conform expanded result from Groonga. If you can't search well when using query expander plugin, try this command whether expanded query is correct. Here is the sample tsv which stores synonyms. % cat synonyms.tsv # -*- coding: utf-8 -*- # # key[TAB]synonym1[TAB]synonym2[TAB]... # groonga groonga rroonga mroonga Let's confirm how to work it. > plugin_register query_expanders/tsv [[0,1467092787.938153,0.0003046989440917969],true] > query_expand QueryExpanderTSV groonga [[0,1467092794.028075,0.0001063346862792969],"((groonga) OR (rroonga) OR (mroonga))"] As you can see, groonga is expanded to ((groonga) OR (rroonga) OR (mroonga)) ## Reduced build time from source archive In this release, total build time of Groonga is reduced. If you use Groonga packages for some distributions, you have nothing to do with it, but, if you build Groonga from source archive, it may be happy with it. On my PC (CPU:Core i5-4210U Memory:8GB), building Groonga 6.0.4 takes 11 minutes, on the other hand, Groonga 6.0.5 takes about 7 minutes! Yay! ## Improvements * [io_flush] Marked as stable command. * [mruby] Supported to optimize prefix search by estimating data size efficiently * [fuzzy_search] Supported max_distance option as 3rd argument to specify it easily. [GitHub#553] [Patch by Naoya Murakami] * [query_expand] Supported command to expand query. It is useful if there are many synonyms. * [select] Supported --drilldown with command_version=3. [groonga-dev,04055] [Reported by Naoya Murakami] * Removed needless code from grn_table_select_sequential(). [GitHub#560] [Reported by Sho Minagawa] * grn_table_setoperation(): Changed to update score instead of overwriting by GRN_OP_ADJUST. This change is introduced to keep consistency with grn_ii_posting_add(). [groonga-dev,04058] [Reported by Naoya Murakami] * [dump] Reduced the max opened table/column files when 1 thread mode. ## Fixes * [CMake][Windows] Fixed to install missing mruby script. [groonga-dev,04040] [Reported by Soichiro Kiyokawa] * [Windows] Changed to bundle msgpack-c. * [Others] Fixed a typo about default database encoding (utf8). [GitHub#549] [Patch by IWAI, Masaharu] * [doc] Fixed a typo about product name (Twitter). [GitHub#550] [Patch by IWAI, Masaharu] * Fixed a bug that specific records are not included into search result when multiple index column is created with WITH_SECTION flag. [GitHub#551] * Fixed a crash bug that searching while loading data with GRN_II_CURSOR_SET_MIN_ENABLE=yes. GRN_II_CURSOR_SET_MIN_ENABLE is enabled by default since Groonga 6.0.3. [Token filters] Fixed thread unsafe implementation. * [doc] Fixed a typo in 6.0.4 release entry. [GitHub#559] [Patch by cafedomancer] ## Thanks * Naoya Murakami * Soichiro Kiyokawa * IWAI, Masaharu * cafedomancer -- Kentaro Hayashi <ha...@cl...> |