BloGroonga

2019-10-30

Groonga 9.0.9 has been released

Groonga 9.0.9 has been released!

How to install: Install

Notice

Maybe performance decreases from this version. Therefore, If performance decreases than before, please report us with reproducible steps.

Changes

Here are important changes in this release:

  • log Improved that output the sending time of response into query-log.

  • status Added that the number of current jobs in the status command response.

  • groonga-httpd Added support for $request_time in log.

    • In the previous version, even if we specified the $request_time in the log_format directive, it was always 0.00.
    • If we specify the $request_time, groonga-httpd output the correct time form this version.
  • groonga-httpd Added how to set the $request_time in the document.

  • Supported Ubuntu 19.10 (Eoan Ermine)

  • Supported CentOS 8 (experimental)

    • The package for CentOS 8 can't use a part of features(e.g. we can't use TokenMecab and can't cast to int32 vector from JSON string) for lacking some packages for development.
  • [tools] Added a script for executeing the index_column_diff command simply.

    • This script name is index-column-diff-all.sh.
    • This script extracts index columns form Groonga's database and execute the index_column_diff command to them.
  • [tools] Added a script for executing object_inspect against all objects.

    • This script name is object-inspect-all.sh.
  • Fixed a bug that Groonga crash when we specify the value as the first argument of between.

Fixed a bug that Groonga crash when we specify the value as the first argument of between.

Groonga had been crashed as below case.

table_create Users TABLE_HASH_KEY ShortText
# [[0, 1337566253.89858, 0.000355720520019531], true]
column_create Users age COLUMN_SCALAR Int32
# [[0, 1337566253.89858, 0.000355720520019531], true]
table_create Ages TABLE_HASH_KEY Int32
# [[0, 1337566253.89858, 0.000355720520019531], true]
column_create Ages user_age COLUMN_INDEX Users age
# [[0, 1337566253.89858, 0.000355720520019531], true]
load --table Users
[
{"_key": "Alice",  "age": 12},
{"_key": "Bob",    "age": 13},
{"_key": "Calros", "age": 15},
{"_key": "Dave",   "age": 16},
{"_key": "Eric",   "age": 20},
{"_key": "Frank",  "age": 21}
]
# [[0, 1337566253.89858, 0.000355720520019531], 6]

select Users --filter 'between(14, 13, "include", 16, "include")'

Conclusion

See Release 9.0.9 2019-10-30 about detailed changes since 9.0.8

Let's search by Groonga!

2019-09-27

Groonga 9.0.8 has been released

Groonga 9.0.8 has been released!

How to install: Install

Changes

Here are important changes in this release:

  • Improved that Groonga ignores the index being built.

    • We can get correct search results even if the index is under construction.
    • However, the search is slow because of Groonga out of use the index to search in this case.
    • Even in cases where we couldn't get search results until now, we may get ones in this improvement.
  • sub_filter Added a feature that sub_filter executes a sequential search when Groonga is building indexes for the target column or the target column hasn't indexed.

    • If the valid index doesn't exist, sub_filter was an error until now.
    • Even if the valid index doesn't exist, it returns results by this improvement.
    • However if the above situation, sub_filter is slow. Because it is executed as a sequential search.
  • logical_range_filter Fixed a bug that exception about closing the same object twice occurs when we have enough records and the number of records that unmatch filter search criteria is more than the estimated value of it.

Conclusion

See Release 9.0.8 2019-09-27 about detailed changes since 9.0.7

Let's search by Groonga!

2019-08-29

Groonga 9.0.7 has been released

Groonga 9.0.7 has been released!

How to install: Install

Changes

Here are important changes in this release:

  • [httpd] Updated bundled nginx to 1.17.3.

    • Contains security fix for CVE-2019-9511, CVE-2019-9513, and CVE-2019-9516.
  • Fixed a bug that returns an empty result when we specify initial into a stage of a dynamic column and search for using index.

  • Fixed a bug that the configure phase didn't detect libedit despite installing it.

  • select Fixed a bug that --offset and --limit options didn't work with --sort_keys and --slices options.

  • select Fixed a bug that search result is empty when the result of select command is huge.

  • Fixed a bug that doesn't use a suitable index when prefix search and suffix search.

Conclusion

See Release 9.0.7 2019-08-29 about detailed changes since 9.0.6

Let's search by Groonga!

2019-08-05

Groonga 9.0.6 has been released

Groonga 9.0.6 has been released!

How to install: Install

IMPORTANT NOTICE

This release contains fixes for some critical bugs which affect search result.

Changes

Here are important changes in this release:

  • Fixed a bug that a search error occurs when search escalation is executed.

  • Fixed a bug that slices returns the records which should not be matched when we use nested equal condition.

  • Added support for Debian 10 (buster)

Fixed a bug that an search error occurs when search escalation is executed

In this release, the search escalation related bug was fixed. This bug causes error and it didn't return matched records.

This bug is caused when the following conditions are met:

  • The lexcon table is TABLE_HASH_KEY
  • Use @ operator
  • Search escalation is occurred

Fixed a bug that slices returns the records which should not be matched when we use nested equal condition

In this release, slices parameter related bug was fixed. This bug may return the records which should not be matched. This bug is caused when the following conditions is met:

  • Use select command with slices parameter.

Added support for Debian 10 (buster)

In this release, Debian 10 (buster - Released at July 6, 2019) has been supported. Now, you can install Groonga in similar way on Debian 9 (stretch).

Conclusion

See Release 9.0.6 2019-08-05 about detailed changes since 9.0.5

Let's search by Groonga!

2019-07-30

Groonga 9.0.5 has been released

Groonga 9.0.5 has been released!

How to install: Install

IMPORTANT NOTICE

After Groonga 9.0.5 has been released, some critical bugs are found which affects search results. We will release the new version which fixes the following bugs. Please do not use Groonga 9.0.5, and recommends to upgrade to fixed version in the future.

Here are the found bugs:

  • The search query causes error and it doesn't return matched records. This bug is caused when the following conditions are met.

    • The lexcon table is TABLE_HASH_KEY
    • Use @ operator
    • Search escalation is occurred
  • slices returns the records which should not be matched.

    • Use select command with slices parameter.

Changes

Here are important changes in this release:

  • logical_range_filter Improved that only apply an optimization when the search target shard is large enough.

  • normalizers Added new option unify_to_katakana for NormalizerNFKC100.

  • select Added drilldowns support as a slices parameter.

  • select Added columns support as a slices parameter.

  • select Improved that we can reference _score in the initial stage for slices parameter.

  • highlight_html, snippet_html Improved that extract a keyword also from an expression of before executing a slices when we specify the slices parameter.

  • Improved that collect scores also from an expression of before executing a slices when we specify the slices parameter.

  • Stopped add 1 in score automatically when add posting to posting list.

  • Added support for index search for nested equal like XXX.YYY.ZZZ == AAA.

  • Reduce rehash interval when we use hash table.

  • Improved to we can add tag prefix in the query log.

  • Added support for Apache Arrow 1.0.0.

  • Added support for Amazon Linux 2.

  • Fixed a bug that vector values of JSON like "[1, 2, 3]" are not indexed.

  • Fixed wrong parameter name in table_create tests.

  • Fixed a bug that drilldown label is empty when a drilldown command is executed by command_version=3.

  • Fixed build error for Windows package on MinGW.

  • Fixed install missing COPYING for Windows package on MinGW.

  • Fixed a bug that don't highlight when specifing non-test query as highlight target keyword.

  • Fixed a bug that broken output of MessagePack format of object_inspect.

  • Fixed a bug that broken output of MessagePack format of index_column_diff.

  • Fixed a bug that broken output of MessagePack format of suggest.

  • Fixed a bug that allocate size by realloc isn't enough when a search for a table of patricia trie and so on.

  • Fix a bug that groonga.repo is removed when updating 1.5.0 from groonga-release version before 1.5.0-1.

logical_range_filter Improved that only apply an optimization when the search target shard is large enough.

This feature reduces that duplicate search result between offset when we use same sort key. Large enough threshold is 10000 records by default.

normalizers Added new option unify_to_katakana for NormalizerNFKC100

This option normalize hiragana to katakana. For example, ぁ ぃ ぇ ぉ` is normalized toヴァヴィヴヴェヴォ``.

We can identify below terms by unify_to_katakana and unify_katakana_v_sounds.

  • ゔぁゔぃゔゔぇゔぉ
  • ばびぶべぼ
  • ヴァヴィヴヴェヴォ
  • バビブベボ

  • First, we apply unify_to_katakana.

    • ゔぁゔぃゔゔぇゔぉ -> ヴァヴィヴヴェヴォ
    • ばびぶべぼ -> バビブベボ
    • ヴァヴィヴヴェヴォ -> ヴァヴィヴヴェヴォ
    • バビブベボ -> バビブベボ
  • Second, we apply unify_katakana_v_sounds.

    • ヴァヴィヴヴェヴォ -> バビブベボ
    • バビブベボ -> バビブベボ

Conclusion

See Release 9.0.5 2019-07-30 about detailed changes since 9.0.4

Let's search by Groonga!