Groonga 3.0.4 has been released
Groonga 3.0.4 has been released!
How to install: Install
There are three topics for this release.
- Supported multiple index section in match_columns
- Supported tokenize command experimentally
- Supported Debian 8.0 (jessie)
Supported multiple index section in match_columns
In this release, we began to support multiple index section in match_columns.
Here is the sample schema:
table_create Memos TABLE_NO_KEY
column_create Memos title COLUMN_SCALAR ShortText
column_create Memos content COLUMN_SCALAR ShortText
table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
column_create Lexicon title_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title
column_create Lexicon content_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos content
In the previous release, you need to execute following query if you want to use column index of title with weight.
select Memos
--match_columns "Lexicon.title_index * 10 || Lexicon.content_index"
--query rroonga --output_columns "title, content, _score"
In this release, you can use almost same thing for multiple column index. To use this feature, you need change schema a bit.
table_create Lexicon TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram
column_create Lexicon memo_index COLUMN_INDEX|WITH_POSITION|WITH_SECTION Memos title,content
Then specify memo_index.(COLUMN_NAME) in the query. Here is the revised query using multiple column index:
select Memos
--match_columns "Lexicon.memo_index.title * 10 || Lexicon.memo_index.content"
--query rroonga
--output_columns "title, content, _score"
There are many case which you want to apply multiple tokenizer or normalizer for each column.
If you specify just column name, there is a case that multiple index is used and unwanted search results returns.
In this release, you can specify specific column which is a member of multiple column index.
Supported tokenize command experimentally
In this release, we began to support tokenize command experimentally.
There is a normalize command to confirm behaviour of normalizer, on the other hand, there is no way to confirm behaviour of tokenizer.
In this release, you can confirm both of normalizer and tokenizer behaviour now.
Here is the syntax of tokenize command:
tokenize tokenizer string [normalizer] [flag]
Here is a sample of tokenize command:
> tokenize TokenBigram "groonga3.0.4"
[
[0,1369290009.77065,0.000670194625854492],
[
{"value":"gr","position":0},
{"value":"ro","position":1},
{"value":"oo","position":2},
{"value":"on","position":3},
{"value":"ng","position":4},
{"value":"ga","position":5},
{"value":"a3","position":6},
{"value":"3.","position":7},
{"value":".0","position":8},
{"value":"0.","position":9},
{"value":".4","position":10},
{"value":"4","position":11}
]
]
See the following documentation about details.
Supported Debian 8.0 (jessie)
In this release, we began to support Debian 8.0 (jessie).
See install documentation about jessie
Note that squeeze support will be discontinued for a while.
Conclusion
See Release 3.0.4 2013/05/29 about detailed changes since 3.0.3.
Let's search by groonga!