Navigation Menu

Skip to content

Commit

Permalink
Merge pull request #36 from komainu8/modify_release_version
Browse files Browse the repository at this point in the history
Fix a version from PGroonga 2.0.3 to PGroonga 2.0.2

Patch by Yasuhiro Horimoto. Thanks!!!
  • Loading branch information
kou committed Oct 19, 2017
2 parents e119b23 + aa99db4 commit d30f4c8
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 32 deletions.
@@ -1,22 +1,22 @@
---
layout: post.en
title: PGroonga (fast full text search module for PostgreSQL) 2.0.3 has been released
description: PGroonga (fast full text search module for PostgreSQL) 2.0.3 has been released!
title: PGroonga (fast full text search module for PostgreSQL) 2.0.2 has been released
description: PGroonga (fast full text search module for PostgreSQL) 2.0.2 has been released!
---

## PGroonga (fast full text search module for PostgreSQL) 2.0.3 has been released
## PGroonga (fast full text search module for PostgreSQL) 2.0.2 has been released

[PGroonga](https://pgroonga.github.io/) 2.0.3 has been released! PGroonga makes PostgreSQL fast full text search for all languages.This is major version up!
[PGroonga](https://pgroonga.github.io/) 2.0.2 has been released! PGroonga makes PostgreSQL fast full text search for all languages. This is major version up!

## About PGroonga

I will explain about PGroonga. Because it is the first release announcement after the major version upgrade.The highkight is summarized after this.
I will explain about PGroonga. Because it is the first release announcement after the major version upgrade. The highlight is summarized after this.

PGroonga is a PostgreSQL extension that makes PostgreSQL fast full text search platform for all languages.There are some PostgreSQL extensions that improves full text search feature of PostgreSQL.PGroonga provides rich full text search related features and is very fast. Because PGroonga uses [Groonga](http://groonga.org/) that is a full-fledged full text search engine as backend.
PGroonga is a PostgreSQL extension that makes PostgreSQL fast full text search platform for all languages. There are some PostgreSQL extensions that improves full text search feature of PostgreSQL. PGroonga provides rich full text search related features and is very fast. Because PGroonga uses [Groonga](http://groonga.org/) that is a full-fledged full text search engine as backend.

### Speed

PGroonga is faster than [pg\_bigm](http://pgbigm.osdn.jp/).PGroonga is faster than [textsearch](https://www.postgresql.jp/document/9.6/html/textsearch.html) contained in PostgreSQL.PGroonga is 10 times over faster about index creation and full text search.
PGroonga is faster than [pg\_bigm](http://pgbigm.osdn.jp/). PGroonga is faster than [textsearch](https://www.postgresql.jp/document/9.6/html/textsearch.html) contained in PostgreSQL. PGroonga is 10 times over faster about index creation and full text search.

Here are benchmark results between PGroonga and pg\_bigm. They use Japanese Wikipedia data.

Expand All @@ -27,9 +27,9 @@ pg\_bigm | About 33m

In this case, PGroonga is about 2 times faster than pg\_bigm.

Next is benchmark results between PGroonga and pg\_bigm.They use English Wikipedia data. Because textsearch isn't support Japanese.
Next is benchmark results between PGroonga and pg\_bigm. They use English Wikipedia data. Because textsearch isn't support Japanese.

You can't comparison directly against the above result.Because the amount of data is different.
You can't comparison directly against the above result. Because the amount of data is different.

Extension | Index creation time
-----------|--------------------
Expand All @@ -45,7 +45,7 @@ Search keywords | N hits | PGroonga | pg\_bigm
"PostgreSQL" or "MySQL" | About 300 | *About 2ms* | About 49ms
データベース(database in Japanese) | About 15000 | *About 49ms* | About 1300ms
テレビアニメ(TV animation in Japanese)| About 20000 | *About 65ms* | About 2800ms
日本(Japan in Japanese | About 530000| About 560ms | *About 480ms*
日本(Japan in Japanese) | About 530000| About 560ms | *About 480ms*

In "日本" (Japan in Japanese) case, pg\_bigm is a bit faster(\*1) than PGroonga. But PGroonga is 24 times to 43 times faster than pg\_bigm in other cases. The result shows that PGroonga can perform stable high performance fast full text search against all keywords.

Expand All @@ -60,11 +60,11 @@ database | About 210000 | About 698ms | *About 602ms* | About
animation | About 40000 | *About 173ms*| About 1000ms(\*2)| About 6ms
America | About 470000 | About 1300ms | *About 1200ms* | About 45ms

(\*2) textsearch is slow because hit about 420 thousand items (about 10 times of PGroonga) with "animation".The cause is because "animation" is stemmed as "anim".
(\*2) textsearch is slow because hit about 420 thousand items (about 10 times of PGroonga) with "animation". The cause is because "animation" is stemmed as "anim".

The search times of PGroonga and textsearch are almost the same. Textsearch is slower in "animation" because it comes from the difference in the number of hits, not the essential search speed difference.

For reference, the rsult of Groonga.Groonga is the full text search engine of PGroonga.As Groonga searches every few tens ms, you can see that the search speed of PGroonga and textsearch is not the speed of full-text search.So, The impact of common overhead in PostgreSQL is great.
For reference, the rsult of Groonga. Groonga is the full text search engine of PGroonga. As Groonga searches every few tens ms, you can see that the search speed of PGroonga and textsearch is not the speed of full-text search. So, The impact of common overhead in PostgreSQL is great.

Details of benchmark is below reference.

Expand All @@ -90,7 +90,7 @@ Normalize feature is a feature that converts different notation texts to unified
For simple example, both "ポスグレ" (HALFWIDTH KATAKANA) and "ポスグレ" (FULLWIDTH KATAKANA) are converted to "ポスグレ" (FULLWIDTH KATAKANA). ("ポスグレ" is an abbreviation of PostgreSQL in Japanese.)
if you search by "ポスグレ"(FULLWIDTH KATAKANA), even texts written in "ポスグレ"(HALFWIDTH KATAKANA) will also be hit.

For more complex example, "㍊"is converted to"ミリバール".This normalization is based on [Unicode NFKC](http://unicode.org/reports/tr15/)
For more complex example, "㍊"is converted to"ミリバール". This normalization is based on [Unicode NFKC](http://unicode.org/reports/tr15/)

Custom tokenizer feature is a feature that customizes search keyword extraction process (tokenization). If you can custom tokenization, you can control trade-off between search precision and search performance.

Expand All @@ -100,9 +100,9 @@ FYI: There is no other extension that supports morphological analyzer based toke

Custom tokenfilter feature is a function that you can customize the process of processing keywords extracted with tokenizer. textsearch has the same function with the name dictionary. Both PGroonga and textsearch realize the stemming function with this mechanism.

Search using query language is a function that you can specify AND/OR/NOT search.You can use it in the same grammar as Google.
Search using query language is a function that you can specify AND/OR/NOT search. You can use it in the same grammar as Google.

HTML highlight feature is a function to mark up search keywords with `<span class =" keyword "> ... </ span>`. The result is safe to use in HTML as it is.It is useful for developing web applications.
HTML highlight feature is a function to mark up search keywords with `<span class =" keyword "> ... </ span>`. The result is safe to use in HTML as it is. It is useful for developing web applications.

HTML snippet feature is a function to return search keyword surrounding text, which is also used in Google search results. Of course, the keyword is marked up with `<span class =" keywor d "> ... </ span>`. It is also safe to use the result in HTML as it is.

Expand All @@ -112,7 +112,7 @@ Autocomplete feature is a function to supplement an input keyword in a text box

Synonyms search feature is a function to search for texts whose contents are similar. It can be used to display similar articles on a blog.

Query expand feature is a function that searches keywords that have the same meaning but different expressions at once.For example, When searching for "牛乳" it will also search for "牛乳" and "ミルク".
Query expand feature is a function that searches keywords that have the same meaning but different expressions at once. For example, When searching for "牛乳" it will also search for "牛乳" and "ミルク".

About each these function see also [PHP manual high speed full text search system made with PostgreSQL and PGroonga](https://slide.rabbit-shocker.org/authors/kou/php-conference-2017/)

Expand Down Expand Up @@ -155,21 +155,21 @@ Here are highlights form 1.2.3:

### PostgreSQL 10 supported

PGroonga is supported PostgreSQL 10 by the other day released.You can use PGroonga in latest PostgreSQL!
PGroonga is supported PostgreSQL 10 by the other day released. You can use PGroonga in latest PostgreSQL!

PGroonga is supported logical replication. logical replication is new feature for PostgreSQL 10.physical replication was able to be [replication](https://pgroonga.github.io/reference/replication.html), but with PostgreSQL 10 compatible, new choices have increased.
PGroonga is supported logical replication. logical replication is new feature for PostgreSQL 10. physical replication was able to be [replication](https://pgroonga.github.io/reference/replication.html), but with PostgreSQL 10 compatible, new choices have increased.

Physical replication is disk usage is large, but crash recovery will become effective to some extent.

On the other hand, you can constract more flexible schema by logical replication. For example, master is using only to update purpose and then slave is using only to read purpose.You can make PGroonga's index in only slaves.It makes you can scale out against read while improving to update throughput.
On the other hand, you can constract more flexible schema by logical replication. For example, master is using only to update purpose and then slave is using only to read purpose. You can make PGroonga's index in only slaves. It makes you can scale out against read while improving to update throughput.

We are planning to benchmark each replication method.

About configuring PostgreSQL cluster If you need commercial support, please refer to [PGroonga Support Page](https://pgroonga.github.io/ja/support/).

### Improve accuracy of query execution plan (speedup)

Planner of PostgreSQL obtains information from each index including PGroonga, calculates the processing cost, and selects the optimal execution plan.So, If PGroonga return more accurate results, PostgreSQL can selects more high speed plan.
Planner of PostgreSQL obtains information from each index including PGroonga, calculates the processing cost, and selects the optimal execution plan. So, If PGroonga return more accurate results, PostgreSQL can selects more high speed plan.

In this release, a `STABLE` function (if the arguments are the same regardless of the contents of the DB, this function with the same result) or ` IMMUTABLE` function (if the arguments are the same within the same transaction, this function with the same result) Improved accuracy of execution plans when searching using results of these function. The representative of the `IMMUTABLE` function by PGroonga is [` pgroonga_query_expand () `](https://pgroonga.github.io/reference/functions/pgroonga-query-expand.html). This is a function to expand the query and use it for search queries as follows. This makes it easier to select a faster execution plan even when using functions that process search queries.

Expand All @@ -182,13 +182,13 @@ SELECT *

### `pgroonga` schema is deprecated

PGroonga 1.x defined functions and operator classes under the `pgroonga` schema, but it was easier to use if you defined under the current schema (in most cases` public`) with prefixes.So, `pgroonga` schema is deprecated in PGroonga 2.x.It was defined with a name with `pgroonga _` prefix.
PGroonga 1.x defined functions and operator classes under the `pgroonga` schema, but it was easier to use if you defined under the current schema (in most cases` public`) with prefixes. So, `pgroonga` schema is deprecated in PGroonga 2.x. It was defined with a name with `pgroonga _` prefix.

`pgroonga` schema is deprecated. But you can also use `pgroonga` schema for maintain compatibility.Since at least PGroonga 2.x supports `pgroonga` schema, please gradually update to usage with` pgroonga _ `prefix.
`pgroonga` schema is deprecated. But you can also use `pgroonga` schema for maintain compatibility. Since at least PGroonga 2.x supports `pgroonga` schema, please gradually update to usage with` pgroonga _ `prefix.

## How to upgrade

This version is compatible with 1.0 or later.You can upgrade by steps in [ "Compatible case" in Upgrade document.](https://pgroonga.github.io/upgrade/)
This version is compatible with 1.0 or later. You can upgrade by steps in [ "Compatible case" in Upgrade document.](https://pgroonga.github.io/upgrade/)

## Announce

Expand All @@ -198,16 +198,16 @@ On Friday, November 3, 2017[PostgreSQL Conference Japan 2017](https://www.postgr

On Friday, December 5, 2017[PGConf.ASIA 2017](http://www.pgconf.asia/JA/2017/) there is session called [PGroonga 2.0 – Make PostgreSQL rich full text search system backend!](http://www.pgconf.asia/JA/2017/day-1/#B5)

Both session is about PGroonga 2.Session of PostgreSQL Conference Japan 2017 is for people who are not using PGroonga yet.Session of PGConf.ASIA 2017 is for people who already use PGroonga and developing extension functions.
Both session is about PGroonga 2. Session of PostgreSQL Conference Japan 2017 is for people who are not using PGroonga yet. Session of PGConf.ASIA 2017 is for people who already use PGroonga and developing extension functions.

### Support servies

We provide [Support of PGroonga](https://pgroonga.github.io/ja/support/).Please consult us when you need support related to PGroonga, such as consulting on index and search design method, investigation at trouble, technical support such as performance improvement, addition of new function etc.
We provide [Support of PGroonga](https://pgroonga.github.io/ja/support/). Please consult us when you need support related to PGroonga, such as consulting on index and search design method, investigation at trouble, technical support such as performance improvement, addition of new function etc.

## Conclusion

New PGroonga version has been released.PGroonga 2 become it is made to be able to use it more like PostgreSQL.
New PGroonga version has been released. PGroonga 2 become it is made to be able to use it more like PostgreSQL.

See also [release note](https://pgroonga.github.io/news/#version-2-0-3) for all changes.
See also [release note](https://pgroonga.github.io/news/#version-2.0.2) for all changes.

Try PGroonga when you want to perform fast full text search against all languages on PostgreSQL!
@@ -1,12 +1,12 @@
---
layout: post.ja
title: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3リリース
description: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3をリリースしました
title: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.2リリース
description: PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.2をリリースしました
---

## PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.3リリース
## PostgreSQL用高速日本語全文検索モジュールPGroonga(ぴーじーるんが) 2.0.2リリース

PostgreSQLで高速日本語全文検索をできるようにする[PGroonga](https://pgroonga.github.io/ja/)の2.0.3をリリースしました!メジャーバージョンアップです!
PostgreSQLで高速日本語全文検索をできるようにする[PGroonga](https://pgroonga.github.io/ja/)の2.0.2をリリースしました!メジャーバージョンアップです!

## PGroongaについて

Expand Down Expand Up @@ -208,6 +208,6 @@ PGroonga 1系では`pgroonga`スキーマ以下に関数やオペレーターク

PGroongaの新しいリリースを紹介しました。PGroonga 2になって、よりPostgreSQLらしく使えるようになっています。

ここで紹介したもの以外の変更点は[リリースノート](https://pgroonga.github.io/ja/news/#version-2-0-3)を参照してください。
ここで紹介したもの以外の変更点は[リリースノート](https://pgroonga.github.io/ja/news/#version-2.0.2)を参照してください。

PostgreSQLで高速に日本語全文検索をしたいという方はPGroongaを使ってガンガン検索してください!

0 comments on commit d30f4c8

Please sign in to comment.