Navigation Menu

Skip to content

Commit

Permalink
Merge pull request #48 from komainu8/release_8.0.0_update_blog_en
Browse files Browse the repository at this point in the history
blog en: add 8.0.0 entry
  • Loading branch information
komainu8 committed Feb 9, 2018
2 parents 81b6843 + 992b2c4 commit f6b012a
Showing 1 changed file with 210 additions and 0 deletions.
210 changes: 210 additions & 0 deletions en/_posts/2018-02-09-groonga-8.0.0.md
@@ -0,0 +1,210 @@
---
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 that have `full-text-search` or `mysql` in `categories` .

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

From this release, `max_border` and `min_border` are now optional.
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 f6b012a

Please sign in to comment.