Navigation Menu

Skip to content

Commit

Permalink
blog en: add 8.0.0 entry
Browse files Browse the repository at this point in the history
  • Loading branch information
komainu8 committed Feb 9, 2018
1 parent 81b6843 commit 5cd9866
Showing 1 changed file with 209 additions and 0 deletions.
209 changes: 209 additions & 0 deletions en/_posts/2018-02-09-groonga-8.0.0.md
@@ -0,0 +1,209 @@
---
layout: post.en
title: Groonga 8.0.0 has been released
description: Groonga 8.0.0 has been released!
published: false
---

## Groonga 8.0.0 has been released

[Groonga 8.0.0](/docs/news.html#release-8.0.0) has been released!

This is a major version up! But It keeps backward compatibility.
You can upgrade to 8.0.0 without rebuilding database.

How to install: [Install](/docs/install.html)

### Changes

Here are important changes in this release:

* [select](/docs/reference/commands/select.html) added `--drilldown_adjuster` and `--drilldowns[label].adjuster`.

* [between](/docs/reference/functions/between) Accept `between()` without borders.

* Fixed a memory leak for normal hash table.

### [select](/docs/reference/commands/select.html) added `--drilldown_adjuster` and `--drilldowns[label].adjuster`.

Added `--drilldown_adjuster` and `--drilldowns[LABEL].adjuster` in `select` arguments.
You can adjust score against result of drilldown.

Specifically, below.

```text
table_create Categories TABLE_PAT_KEY ShortText
table_create Tags TABLE_PAT_KEY ShortText
column_create Tags categories COLUMN_VECTOR|WITH_WEIGHT Categories
table_create Memos TABLE_HASH_KEY ShortText
column_create Memos tags COLUMN_VECTOR Tags
column_create Categories tags_categories COLUMN_INDEX|WITH_WEIGHT \
Tags categories
load --table Tags
[
{"_key": "groonga", "categories": {"full-text-search": 100}},
{"_key": "mroonga", "categories": {"mysql": 100, "full-text-search": 80}},
{"_key": "ruby", "categories": {"language": 100}}
]
load --table Memos
[
{
"_key": "Groonga is fast",
"tags": ["groonga"]
},
{
"_key": "Mroonga is also fast",
"tags": ["mroonga", "groonga"]
},
{
"_key": "Ruby is an object oriented script language",
"tags": ["ruby"]
}
]
select Memos \
--limit 0 \
--output_columns _id \
--drilldown tags \
--drilldown_adjuster 'categories @ "full-text-search" * 2 + categories @ "mysql"' \
--drilldown_output_columns _key,_nsubrecs,_score
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
]
]
],
[
[
3
],
[
[
"_key",
"ShortText"
],
[
"_nsubrecs",
"Int32"
],
[
"_score",
"Int32"
]
],
[
"groonga",
2,
203
],
[
"mroonga",
1,
265
],
[
"ruby",
1,
0
]
]
]
]
```

In the above example, we adjust the score of records taht have `full-text-search` or `mysql` in `categories` .

### [between](/docs/reference/functions/between) Accept `between()` without borders.

If the number of arguments passed to ``between()`` is 3, the 2nd and 3rd arguments are handled as the inclusive edges.

Specifically, below.

```text
table_create Users TABLE_HASH_KEY ShortText
column_create Users age COLUMN_SCALAR Int32
table_create Ages TABLE_PAT_KEY Int32
column_create Ages users_age COLUMN_INDEX Users age
load --table Users
[
{"_key": "alice", "age": 17},
{"_key": "bob", "age": 18},
{"_key": "calros", "age": 19},
{"_key": "dave", "age": 20},
{"_key": "eric", "age": 21}
]
select Users --filter 'between(age, 18, 20)'
[
[
0,
0.0,
0.0
],
[
[
[
3
],
[
[
"_id",
"UInt32"
],
[
"_key",
"ShortText"
],
[
"age",
"Int32"
]
],
[
2,
"bob",
18
],
[
3,
"calros",
19
],
[
4,
"dave",
20
]
]
]
]
```

### Fixed a memory leak for normal hash table.

Fixed a bug that you sometimes can not connect to groonga just by continuing to send queries.

### Conclusion

See [Release 8.0.0 2018-02-09](/docs/news.html#release-8.0.0) about detailed changes since 7.1.1

Let's search by Groonga!

0 comments on commit 5cd9866

Please sign in to comment.