Groonga 8.0.3リリース
肉の日ですね。Groonga 8.0.3をリリースしました!
それぞれの環境毎のインストール方法: インストール
変更内容
主な変更点は以下の通りです。
- [highlight_html]
NormalizerNFKC100
またはTokenNgram
を使って検索した結果のハイライトをサポートしました。 - [normalizers]
NormalizerNFKC100
に新しいオプションunify_middle_dot option
を追加しました。 - [normalizers]
NormalizerNFKC100
に新しいオプションunify_katakana_v_sounds option
を追加しました。 - [normalizers]
NormalizerNFKC100
に新しいオプションunify_katakana_bu_sound option
を追加しました。 - [sub_filter] 十分にフィルターされたケースの
sub_filter
の動作を最適化しました。 - [delete] 新しいオプション
limit
を追加しました。 - [normalizers]
U+FF21 FULLWIDTH LATIN CAPITAL LETTER A
のような全角ラテン大文字が、U+0061 LATIN SMALL LETTER A
のようなラテン小文字に正規化 されない不具合を修正しました。 すでに、NormalizerNFKC100
を使用している場合は、インデックスを再生成する必要があります。
[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] 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] 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] 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] 十分にフィルターされたケースの 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] 新しいオプション 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-05-29を確認してください。
それでは、Groongaでガンガン検索してください!