Yasuhiro Horimoto
null+****@clear*****
Tue May 29 15:48:15 JST 2018
Yasuhiro Horimoto 2018-05-29 15:48:15 +0900 (Tue, 29 May 2018) New Revision: 1f69b4039083e75fda4facd196ae0f63f5b0be6c https://github.com/groonga/groonga.org/commit/1f69b4039083e75fda4facd196ae0f63f5b0be6c Message: blog: add 8.0.3 entry Added files: en/_posts/2018-05-29-groonga-8.0.3.md ja/_posts/2018-05-29-groonga-8.0.3.md Added: en/_posts/2018-05-29-groonga-8.0.3.md (+272 -0) 100644 =================================================================== --- /dev/null +++ en/_posts/2018-05-29-groonga-8.0.3.md 2018-05-29 15:48:15 +0900 (432b4609) @@ -0,0 +1,272 @@ +--- +layout: post.en +title: Groonga 8.0.3 has been released +description: Groonga 8.0.3 has been released! +published: false +--- + +## Groonga 8.0.3 has been released + +[Groonga 8.0.3](/docs/news.html#release-8.0.3) has been released! + +How to install: [Install](/docs/install.html) + +### Changes + +Here are important changes in this release: + + * [[highlight_html](doc/reference/functions/highlight_html)] Support highlight + of results of the search by `NormalizerNFKC100` or `TokenNgram`. + * [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` + that `unify_middle_dot option`. + * [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` + that `unify_katakana_v_sounds option`. + * [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` + that `unify_katakana_bu_sound option`. + * [[sub_filter](doc/reference/functions/sub_filter)] Supported `sub_filter` optimization + for the too filter case. + * [[delete](doc/reference/commands/delete)] Added new options that `limit`. + * [[normalizers](doc/reference/normalizers)] Fixed a bug that FULLWIDTH LATIN CAPITAL LETTERs + such as `U+FF21 FULLWIDTH LATIN CAPITAL LETTER A` aren't normalized to LATIN SMALL LETTERs + such as `U+0061 LATIN SMALL LETTER A`. + If you have been used `NormalizerNFKC100` , you must recreate your indexes. + +### [[highlight_html](doc/reference/functions/highlight_html)] Support highlight of results of the search by `NormalizerNFKC100` or `TokenNgram` + +You can highlight of keyword that searched by `NormalizerNFKC100` or `TokenNgram` as below example. + +``` +table_create Entries TABLE_NO_KEY +column_create Entries body COLUMN_SCALAR ShortText +table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer 'TokenNgram("report_source_location", true)' --normalizer 'NormalizerNFKC100' +column_create Terms document_index COLUMN_INDEX|WITH_POSITION Entries body +load --table Entries +[ +{"body": "ア㌕Az"} +] +[[0,0.0,0.0],1] +select Entries --match_columns body --query 'グラム' --output_columns 'highlight_html(body, Terms)' +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 1 + ], + [ + [ + "highlight_html", + null + ] + ], + [ + "ア<span class=\"keyword\">㌕</span>Az" + ] + ] + ] +] +``` + +### [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` that `unify_middle_dot option` + +This option normalizes middle dot as below example. + +``` +normalize 'NormalizerNFKC100("unify_middle_dot", true)' "·ᐧ•∙⋅⸱・・" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "········", + "types": [ + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol" + ], + "checks": [ + + ] + } +] +``` + +You can search with or without `・` (middle dot) and regardless of `・` (middle dot) position +by this option. + +### [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` that +`unify_katakana_v_sounds option` + +This option normalizes `ヴァヴィヴヴェヴォ` (katakana) to `バビブベボ` (katakana) as below example. + +``` +normalize 'NormalizerNFKC100("unify_katakana_v_sounds", true)' "ヴァヴィヴヴェヴォヴ" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "バビブベボブ", + "types": [ + "katakana", + "katakana", + "katakana", + "katakana", + "katakana", + "katakana" + ], + "checks": [ + + ] + } +] +``` + +For example, you can search `バイオリン` (violin) in `ヴァイオリン` (violin). + +### [[normalizers](doc/reference/normalizers)] Added new option for `NormalizerNFKC100` that +`unify_katakana_bu_sound option` + +This option normalizes `ヴァヴィヴゥヴェヴォ` (katakana) to `ブ` (katakana) as below example. + +``` +normalize 'NormalizerNFKC100("unify_katakana_bu_sound", true)' "ヴァヴィヴヴェヴォヴ" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "ブブブブブブ", + "types": [ + "katakana", + "katakana", + "katakana", + "katakana", + "katakana", + "katakana" + ], + "checks": [ + + ] + } +] +``` + +For example, you can search `セーブル` (katakana) and `セーヴル` (katakana) in `セーヴェル` (katakana). + +### [[sub_filter](doc/reference/functions/sub_filter)] Supported `sub_filter` optimization for the too filter case + +For example,this optimize is valid when records are enough narrowed down before +`sub_filter` execution as below. + +``` +table_create Files TABLE_PAT_KEY ShortText +column_create Files revision COLUMN_SCALAR UInt32 + +table_create Packages TABLE_PAT_KEY ShortText +column_create Packages files COLUMN_VECTOR Files + +column_create Files packages_files_index COLUMN_INDEX Packages files + +table_create Revisions TABLE_PAT_KEY UInt32 +column_create Revisions files_revision COLUMN_INDEX Files revision + +load --table Files +[ +{"_key": "include/groonga.h", "revision": 100}, +{"_key": "src/groonga.c", "revision": 29}, +{"_key": "lib/groonga.rb", "revision": 12}, +{"_key": "README.textile", "revision": 24}, +{"_key": "ha_mroonga.cc", "revision": 40}, +{"_key": "ha_mroonga.hpp", "revision": 6} +] + +load --table Packages +[ +{"_key": "groonga", "files": ["include/groonga.h", "src/groonga.c"]}, +{"_key": "rroonga", "files": ["lib/groonga.rb", "README.textile"]}, +{"_key": "mroonga", "files": ["ha_mroonga.cc", "ha_mroonga.hpp"]} +] + +select Packages \ + --filter '_key == "rroonga" && \ + sub_filter(files, "revision >= 10 && revision < 40")' \ + --output_columns '_key, files, files.revision' +``` + +### [[delete](doc/reference/commands/delete)] Added new options that `limit` + +You can limit the number of deleting records with this option as below example. + +``` +table_create Users TABLE_PAT_KEY ShortText +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"}, +{"_key": "brian"} +] +[[0,0.0,0.0],4] +delete --table Users --filter '_key @^ "b"' --limit 2 +[[0,0.0,0.0],true] +#>delete --filter "_key @^ \"b\"" --limit "2" --table "Users" +#:000000000000000 filter(3) +#:000000000000000 delete(2): [0][2] +#<000000000000000 rc=0 +select Users +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 2 + ], + [ + [ + "_id", + "UInt32" + ], + [ + "_key", + "ShortText" + ] + ], + [ + 1, + "alice" + ], + [ + 3, + "bill" + ] + ] + ] +] +``` + +### Conclusion + +See [Release 8.0.3 2018-04-29](/docs/news.html#release-8.0.3) about detailed changes since 8.0.2 + +Let's search by Groonga! Added: ja/_posts/2018-05-29-groonga-8.0.3.md (+269 -0) 100644 =================================================================== --- /dev/null +++ ja/_posts/2018-05-29-groonga-8.0.3.md 2018-05-29 15:48:15 +0900 (8b04d072) @@ -0,0 +1,269 @@ +--- +layout: post.ja +title: Groonga 8.0.3リリース +description: Groonga 8.0.3をリリースしました! +published: false +--- + +## Groonga 8.0.3リリース + +肉の日ですね。[Groonga 8.0.3](/ja/docs/news.html#release-8.0.3)をリリースしました! + +それぞれの環境毎のインストール方法: [インストール](/ja/docs/install.html) + +### 変更内容 + +主な変更点は以下の通りです。 + + * [[highlight_html](ja/doc/reference/functions/highlight_html)] `NormalizerNFKC100` または + `TokenNgram` を使って検索した結果のハイライトをサポートしました。 + * [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション + `unify_middle_dot option` を追加しました。 + * [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション + `unify_katakana_v_sounds option` を追加しました。 + * [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション + `unify_katakana_bu_sound option` を追加しました。 + * [[sub_filter](/ja/doc/reference/functions/sub_filter)] 十分にフィルターされたケースの + `sub_filter` の動作を最適化しました。 + * [[delete](/ja/doc/reference/commands/delete)] 新しいオプション `limit` を追加しました。 + * [[normalizers](/ja/doc/reference/normalizers)] `U+FF21 FULLWIDTH LATIN CAPITAL LETTER A` + のような全角ラテン大文字が、`U+0061 LATIN SMALL LETTER A` のようなラテン小文字に正規化 + されない不具合を修正しました。 + すでに、`NormalizerNFKC100` を使用している場合は、インデックスを再生成する必要があります。 + +### [[highlight_html](ja/doc/reference/functions/highlight_html)] `NormalizerNFKC100` または `TokenNgram` を使って検索した結果のハイライトをサポートしました。 + +以下の例のように、`NormalizerNFKC100` または `TokenNgram` を使った検索のキーワードをハイライト出来ます。 + +``` +table_create Entries TABLE_NO_KEY +column_create Entries body COLUMN_SCALAR ShortText +table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer 'TokenNgram("report_source_location", true)' --normalizer 'NormalizerNFKC100' +column_create Terms document_index COLUMN_INDEX|WITH_POSITION Entries body +load --table Entries +[ +{"body": "ア㌕Az"} +] +[[0,0.0,0.0],1] +select Entries --match_columns body --query 'グラム' --output_columns 'highlight_html(body, Terms)' +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 1 + ], + [ + [ + "highlight_html", + null + ] + ], + [ + "ア<span class=\"keyword\">㌕</span>Az" + ] + ] + ] +] +``` + +### [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション `unify_middle_dot option` を追加しました。 + +このオプションは以下の例のように、中点を正規化します。 + +``` +normalize 'NormalizerNFKC100("unify_middle_dot", true)' "·ᐧ•∙⋅⸱・・" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "········", + "types": [ + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol", + "symbol" + ], + "checks": [ + + ] + } +] +``` + +このオプションによって、 `・` の有無や `・` 位置にかかわらず検索できます。 + +### [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション `unify_katakana_v_sounds option` を追加しました。 + +このオプションは、以下の例のように `ヴァヴィヴヴェヴォ` を `バビブベボ` へ正規化します。 + +``` +normalize 'NormalizerNFKC100("unify_katakana_v_sounds", true)' "ヴァヴィヴヴェヴォヴ" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "バビブベボブ", + "types": [ + "katakana", + "katakana", + "katakana", + "katakana", + "katakana", + "katakana" + ], + "checks": [ + + ] + } +] +``` + +例えば `バイオリン` を `ヴァイオリン` で検索できます。 + +### [[normalizers](/ja/doc/reference/normalizers)] `NormalizerNFKC100` に新しいオプション `unify_katakana_bu_sound option` を追加しました。 + +このオプションは、以下の例のように `ヴァヴィヴゥヴェヴォ` を `ブ` に正規化します。 + +``` +normalize 'NormalizerNFKC100("unify_katakana_bu_sound", true)' "ヴァヴィヴヴェヴォヴ" WITH_TYPES +[ + [ + 0, + 0.0, + 0.0 + ], + { + "normalized": "ブブブブブブ", + "types": [ + "katakana", + "katakana", + "katakana", + "katakana", + "katakana", + "katakana" + ], + "checks": [ + + ] + } +] +``` + +例えば、`セーブル` や `セーヴル` を `セーヴェル` で検索できます。 + +### [[sub_filter](/ja/doc/reference/functions/sub_filter)] 十分にフィルターされたケースの `sub_filter` の動作を最適化しました。 + +この最適化は、例えば、以下のように `sub_filter` 実行前に十分にレコードが絞り込まれているケースで +有効になります。 + +``` +table_create Files TABLE_PAT_KEY ShortText +column_create Files revision COLUMN_SCALAR UInt32 + +table_create Packages TABLE_PAT_KEY ShortText +column_create Packages files COLUMN_VECTOR Files + +column_create Files packages_files_index COLUMN_INDEX Packages files + +table_create Revisions TABLE_PAT_KEY UInt32 +column_create Revisions files_revision COLUMN_INDEX Files revision + +load --table Files +[ +{"_key": "include/groonga.h", "revision": 100}, +{"_key": "src/groonga.c", "revision": 29}, +{"_key": "lib/groonga.rb", "revision": 12}, +{"_key": "README.textile", "revision": 24}, +{"_key": "ha_mroonga.cc", "revision": 40}, +{"_key": "ha_mroonga.hpp", "revision": 6} +] + +load --table Packages +[ +{"_key": "groonga", "files": ["include/groonga.h", "src/groonga.c"]}, +{"_key": "rroonga", "files": ["lib/groonga.rb", "README.textile"]}, +{"_key": "mroonga", "files": ["ha_mroonga.cc", "ha_mroonga.hpp"]} +] + +select Packages \ + --filter '_key == "rroonga" && \ + sub_filter(files, "revision >= 10 && revision < 40")' \ + --output_columns '_key, files, files.revision' +``` + +### [[delete](/ja/doc/reference/commands/delete)] 新しいオプション `limit` を追加しました。 + +以下の例のように、このオプションを使って、削除するレコードの件数を制限できます。 + +``` +table_create Users TABLE_PAT_KEY ShortText +[[0,0.0,0.0],true] +load --table Users +[ +{"_key": "alice"}, +{"_key": "bob"}, +{"_key": "bill"}, +{"_key": "brian"} +] +[[0,0.0,0.0],4] +delete --table Users --filter '_key @^ "b"' --limit 2 +[[0,0.0,0.0],true] +#>delete --filter "_key @^ \"b\"" --limit "2" --table "Users" +#:000000000000000 filter(3) +#:000000000000000 delete(2): [0][2] +#<000000000000000 rc=0 +select Users +[ + [ + 0, + 0.0, + 0.0 + ], + [ + [ + [ + 2 + ], + [ + [ + "_id", + "UInt32" + ], + [ + "_key", + "ShortText" + ] + ], + [ + 1, + "alice" + ], + [ + 3, + "bill" + ] + ] + ] +] +``` + +### さいごに + +8.0.2からの詳細な変更点は[8.0.3リリース 2018-04-29](/ja/docs/news.html#release-8.0.3)を確認してください。 + +それでは、Groongaでガンガン検索してください! -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180529/b6761a11/attachment-0001.htm