Groonga 14.0.4 has been released
Groonga 14.0.4 has been released!
How to install: Install
Changes
Here are important changes in this release:
Fixes
-
[query_parallel_or] Fixed a bug that the
match_escalation_threshold
orforce_match_escalation
options were ignored when usingquery_parallel_or()
.Before the fix, even when
match_escalation_threshold
was set to disable match escalation, the results still escalated when we usequery_parallel_or()
. This problem occurred onlyquery_parallel_or()
.query()
don't occur this problem.Generally, we don't disable match escalation. Because we want to get something search results. The number of hits is 0 is the unwelcome result of us. Therefore, this problem has no effect by many users. However, it has effect by user who use stop word as below.
plugin_register token_filters/stop_word table_create Memos TABLE_NO_KEY column_create Memos content COLUMN_SCALAR ShortText table_create Terms TABLE_PAT_KEY ShortText \ --default_tokenizer TokenBigram \ --normalizer NormalizerAuto \ --token_filters TokenFilterStopWord column_create Terms memos_content COLUMN_INDEX|WITH_POSITION Memos content column_create Terms is_stop_word COLUMN_SCALAR Bool load --table Terms [ {"_key": "and", "is_stop_word": true} ] load --table Memos [ {"content": "Hello"}, {"content": "Hello and Good-bye"}, {"content": "Good-bye"} ] select Memos \ --filter 'query_parallel_or(["content", "content", "content", "content"], \ "and", \ {"options": {"TokenFilterStopWord.enable": true}})' \ --match_escalation_threshold -1 \ --sort_keys -_score
We don't want to match a keyword that is registered as stopword. Therefore, we set
-1
tomatch_escalation_threshold
in the above example.We expect that Groonga doesn't return records in the above example because of escalation disable and search keyword(
and
) is registered as stopword. However, If this problem occur, Groonga returns match record. Because if we usequery_parallel_or()
,match_escalation_threshold
doesn't work. -
Fixed a bug that full-text search againt a reference column of a vector didn't work.
This problem has occured Groonga v14.0.0 or later. This problem has effect if we execute full-text search against a reference column of a vector.
We expected that Groonga returns
[1, "Linux MySQL"]
and[2, "MySQL Groonga"]
as below example. However, before the fix, Groonga always returned 0 hits as below because of we executed full-text search on a reference column of a vector.table_create bugs TABLE_PAT_KEY UInt32 table_create tags TABLE_PAT_KEY ShortText --default_tokenizer TokenDelimit column_create tags name COLUMN_SCALAR ShortText column_create bugs tags COLUMN_VECTOR tags load --table bugs [ ["_key", "tags"], [1, "Linux MySQL"], [2, "MySQL Groonga"], [3, "Mroonga"] ] column_create tags bugs_tags_index COLUMN_INDEX bugs tags select --table bugs --filter 'tags @ "MySQL"' [ [ 0, 0.0, 0.0 ], [ [ [ 0 ], [ [ "_id", "UInt32" ], [ "_key", "UInt32" ], [ "tags", "tags" ] ] ] ] ]
Conclusion
Please refert to the following news for more details. News Release 14.0.4
Let's search by Groonga!