- Supported Groonga 4.0.0. Groonga 3.1.2 or older are not supported.
- Added install document. [Patch by ongaeshi]
- Supported Groonga 3.1.2. Groonga 3.1.1 or older are not supported.
- Added {Groonga::Table#support_value?}.
- Added {Groonga::Record#support_value?}.
- Added
_value
value to {Groonga::Record#attributes} result.
[groonga-dev,02046] [Suggested by ongaeshi]
- Added column values to {Groonga::Record#inspect} result.
[groonga-dev,02048] [Suggested by ongaeshi]
- grndump: Added
--dump-indexes
option that controls schema for
indexes output. It is useful to dump only schema for indexes.
- Added {Groonga.lock_timeout}.
- Added {Groonga.lock_timeout=}.
- Supported Groonga 3.1.1.
- [groonga-database-inspect]: Added
--no-tables
option for hiding
all table information.
- [groonga-database-inspect]: Added
--no-columns
option for hiding
all column information.
- [doc] Updated English mailing list to use Groonga-talk.
[GitHub#14] [Patch by Masafumi Yokoyama]
- {Groonga::Expression#append_operation} supports operator name.
- {Groonga::Expression#append_constant} supports operator name.
- {Groonga::Expression#append_object} supports operator name.
- Reduced build failure by automatically Groonga build.
[Reported by SHIMADA Koji]
- Added
groonga-database-inspect
command that inspects passed database.
[Suggested by Genki Takiuchi]
- {Groonga::Database#tables} ignores missing objects rather than raising
an exception. Because the method is interested in only existing tables.
- Fixed a bug that {Groonga::Expression#parse} doesn’t accept all
mode and operators.
- SHIMADA Koji
- Genki Takiuchi
- Supported Groonga 3.0.9.
- Supported showing error message on error in {Groonga::Object#remove}.
- Fixed a crash bug that is caused by assigning
nil
as source of
index column.
- Supported groonga 3.0.8.
- Supported x64-mingw32 Ruby.
- Supported Ruby 2.1.0 preview1.
- Added {Groonga::Table::KeySupport#tokenize}. It requires groonga
3.0.8. Groonga 3.0.8 is not released yet.
- Changed return object of {Groonga::Context#select} to groonga-client gem’s
return object. It is a backward imcompatible change. Some APIs are changed.
For example, drill_down
is renamed to drilldowns
. See
Groonga::Client::Response::Select
about rerturn object details.
- Added groonga-client gem, groogna-command gem, gqtp gem dependencies.
- Fixed a bug that auto groonga installation is failed.
[GitHub#12][Patch by Keita Haga]
- Supported accessing reference column that referes a table that uses
Int8/UInt8/Int16/UInt16 key.
- [dumper] fixed a bug that no column table isn’t dumped.
- Fixed a rroogna 3.0.3 gem package for Windows.
- Required groonga >= 3.0.5.
- Added an error check for creating a result table of {Groonga::Table#select}.
- Added {Groonga::Operator::AND_NOT}.
- Deprecated {Groonga::Operator::BUT} because groonga deprecated it.
Use {Groonga::Operator::AND_NOT} instead.
- Added {Groonga::Array#unblock}.
- Added
:max_n_sub_records
option to {Groonga::Table#group}.
- Added {Groonga::Table#each_sub_record}.
- Supported groonga to Ruby conversion for vector value.
- Added
:reference => true
option to {Groonga::Expression#define_variable}
that defines reference type variable.
- Added {Groonga::Record#sub_records} that returns sub records for the record.
Sub records is a {Groonga::SubRecords} instance.
- Fixed {Groonga::Expression#[]} return type. It returns {Groonga::Variable}
instead of value itself. CAUTION: It is a backward incompatible change.
- Required groonga >= 3.0.4.
- Supported set/get a vector of Time.
- [grndump] Stopped to dump index only tables. They are needless.
- Added {Groonga::Record#to_json}.
- Added {Groonga::IndexColumn#add}.
- Added {Groonga::IndexColumn#delete}.
- Added {Groonga::IndexColumn#update}.
- Deprecated {Groonga::IndexColumn#[]=}. Use {Groonga::IndexColumn#add},
{Groonga::IndexColumn#delete} or {Groonga::IndexColumn#update} instead.
- Added {Groonga::Table#have_n_sub_records_space?}.
- [grndump] Don’t dump “register PLUGIN” when schema dump is disabled.
- [grndump]
Fixed a bug that reference tables may be dumpped before referenced tables.
- Required groonga >= 3.0.3.
- Supported assigning weight to value. See {Groonga::Table#set_column_value},
{Groonga::Record#initialize} and {Groonga::Record#[]=} for details.
- Renamed to {Groonga::QueryLogger.path} from {Groonga::Logger.query_log_path}.
- Renamed to {Groonga::QueryLogger.path=} from {Groonga::Logger.query_log_path=}.
- Renamed to {Groonga::Logger.path} from {Groonga::Logger.log_path}.
- Renamed to {Groonga::Logger.path=} from {Groonga::Logger.log_path=}.
- Added missing “Packnga >= 0.9.7” requirement. [Reported by takkanm]
- Fixed a memory leak on error.
- Required groonga >= 3.0.2.
- Added block support to {Groonga::Context#create_database}. If a
block is given, created database is closed on block exit.
- [experimental] Added {Groonga::Array#push}.
- [experimental] Added {Groonga::Array#pull}.
- Added more closed object checks.
[GitHub #8][Reported by KITAITI Makoto]
- Added block support to {Groonga::Context#restore}. If a block is
given, command and its response are yielded.
- [dumper] Reduced needless new lines in dumped commands.
- For ranguba project:
- [template] Removed needless block for sponsor by rubyforge.
- [template] Removed needless piwik tag.
- [template] Fixed URLs of references in Japanese.
- Fixed GC related crash. Table’s domain and range are also marked.
- Required groonga 2.1.1 because groonga 2.1.0 has a serious bug
related to key normalization.
- Required groonga 2.1.0.
- Supported mass record deletion with block.
[groonga-dev,01138][Suggested by ongaeshi]
- Added Groonga::Normalizer.normalize (experimental). It normalize string.
e.g.)
Groonga::Normalizer.normalize(“AbC”) # => “abc”
Now, it removes any spaces by default, but it will be customized soon.
- Supported :normalizer option in DoubleArrayTrie, PatriciaTrie, Hash,
Schema when creating tables.
- [table] Added using normalizer accessor.
- [table] Used normalizer for checking key normalization is enabled or not.
- Added groonga-index-dump tool (experimental).
This tool dumps infomations for each index from DB.
Dumped informations are contained at “INDEX_NAME.dump” files in
“TARGET_TABLE_NAME.index_INDEX_COLUMN_NAME”.
e.g.)
$ cat index-dump.sdf
table_create —name Video —flags TABLE_HASH_KEY —key_type UInt32
table_create —name Tag —flags TABLE_HASH_KEY —key_type ShortText
column_create —table Video —name title —flags COLUMN_SCALAR —type ShortText
column_create —table Video —name tags —flags COLUMN_VECTOR —type Tag
column_create —table Tag —name index_tags —flags COLUMN_INDEX —type Video —source tags
load —table Video
[
{"_key":1,“title”:“groonga Demo”,“tags”:[“IT”,“Server”,“groonga”]},
{"_key":2,“title”:“Ultra Baseball”,“tags”:[“Sports”,“Baseball”]},
]
$ groonga —file index-dump.sdf -n index-dump.db
$ groonga-index-dump —output-directory=path/to/index/ index-dump.db
$ cd path/to/index/
$ ls Tag.index_tags
Baseball.dump IT.dump Server.dump Sports.dump groonga.dump
$ cat path/to/index/Tag.index_tags/groonga.dump
index: Tag.index_tags term: domain: Tag range: Video have_section: false have_weight: false have_position: false
weight position term_frequency record
0 2 1 Video[ 1 ].tags
- Added flag options to Groonga::IndexColumn#open_cursor.
The flag options are :with_section, :with_weight, :with_position.
They are enabled by default if each option is specified in creating
a index column.
- [Snippet] Showed the error message when specified context wasn’t
associated with a database by Groonga::Database#open or #create.
- [inspect] Supported to display index column related flags for index
column only.
“index column related flags” are WITH_SECTION, WITH_WEIGHT and
WITH_POSITION.
- [inspect] Added default tokenizer and normalizer infomation.
- Supported Groonga::QueryLogger. This class is used to log query log.
Please see its reference for detail.
- Move groonga-query-log-extract to groonga-query-log.
Please install groogna-query-log gem to use this tool.
how to install:
gem install groonga-query-log
- Returned Groonga::Array instead of Array by Table#sort.
[GitHub: #8][Suggested by Genki Takiuchi]
CAUTION: This is backward incompatible change. You need to use
record.value to get the original record.
The following code shows how to use old style:
result_since_2_1_0 = table.sort([“sort_key”])
result_before_2_1_0 = result_since_2_1_0.collect do |record|
record.value
end
- Added Groonga::Posting#record. This method returns the record for
the record ID in table.
- Added Groonga::Posting#term. This method returns the record for the
term ID in table.
- Supported GRN_OBJ_KEY_VAR_SIZE for Groonga::Type#inspect.
GRN_OBJ_KEY_CAR_SIZE specifies its column is variable size.
- [Type] Added reader methods to Groonga::Type (#size and #flags).
- [Type] Added predicate methods to Groonga::Type.
Added methods are #fixed_size?, #variable_size?, #unsigned_integer?,
#integer?, #float? and #geo_point?.
- Removed query log related codes.
This feature moved to groonga-query-log gem and it is relased soon.
- [dump] Put index columns at the bottom (after loads).
It is for using offline index construction.
- Added term_extract in Table#select by
table.select {|record|
record.key.term_extract(text)}
syntax.
- Supported :allow_leading_not as a option of #select.
You should use this option carefully. It takes a long time to search
all records which doesn’t include a word. In addition, when the
number of records is large, to search them with this option is
slowly.
- Changed option name for debug build in extconf.rb from —with-debug
to —enable-debug-log.
- Fixed display collapse in the references.
- Supported groonga 2.0.7.
- Removed the workaround to install rroonga with old groonga.
- Added more error checks.
- Added Database#tables. [Suggested by @temitan]
- Supported Enumerator for #each on Database, Table, TableCursor and
IndexCursor.
- Added WGS84GeoPoint and TokyoGeoPoint.
- [dumper] supported dumping of WGS84GeoPoint and TokyoGeoPoint.
- [dumper] worked on non UTF-8 extenal output encoding environment.
- [dumper] sorted table and column names.
- [dumper] ignored invalid byte.
- [grndump] showed the warning for invalid character.
- [grndump] supported database that is created by old groonga.
- Added Groonga::Context#ruby_encoding.
- Added many documents in codes but showed no references.
- Added missing backslash escape for groonga command.
- Fixed a bug that weight of match target is ignored.
- Supported groonga 2.0.2.
- Groonga::Table#each supports options that are same as
Groonga::Table#open_cursor’s one.
- [grndump] added
--order-by=id
option. With this option, dumped
records are sorted by ID instead of key. You can restore records
without ID change if you don’t delete any records. [#1341]
- Supported building on Windows with RubyInstaller for Windows with DevKit.
[GitHub#6] [Patch by @ongaeshi]
- Supported similar search by
table.select {|record|
record.column.similar_search(text)}
syntax.
- Fixed a GC related crach bug.
- Supported groonga 2.0.1.
- Added logos .
- Fixed a Groonga::Snipet related crach bug caused by GC.
- Supported groonga 2.0.0.
- [gem][windows] Removed mswin packages.
- [test] Fixed version test failure. [GitHub#4] [Reported by @takkanm]
- Fixed a Groonga::Expression related crach bug caused by GC.
- [doc] Fixed broken HTML output. [groonga-dev,00699]
[Reported by Hirano]
- Supported groonga 1.3.0.
- [schema] Supported Int8, Int16, UInt8 and UInt16.
- [schema] Supported TokyoGeoPoint and WGS84GeoPoint.
- [schema][dumper] Supported Boolean and more built-in types.
[Reported by @mashiro]
- [schema] Supported type object as column type. [#1002]
- Added Groonga::VariableSizeColumn#compressed?. [#1004]
- Added Groonga::Record#score=.
- Improve performance for encoded string.
- Added Groonga::Command::Builder.escape_value.
- [schema] Remove also needless db.tables/ directory if it is empty.
- [schema] Remove also needless db.tables/table.columns/ directory if it is empty.
- Added query log parser.
- Added groonga-query-log-extract command.
- Added grntest log analyzer.
- Added JSON gem dependency.
- Supported groonga 1.2.8.
- Dropped groonga 1.2.7 or former support.
- Added Groonga::Table#defrag.
- Added Groonga::Table#rename.
- Added Groonga::Column#rename.
- Added Groonga::DoubleArrayTrie.
- [schema] Supported table rename.
- [schema] Supported column rename.
- [schema] Supported double array trie.
- [schema] Don’t use named path by default for location aware DB.
- Fixed a crash problem on GC.
- deleted unneed object files.
- supported “!=” expression for column in block of Groonga::Table#select.
- accepted Hash like object as options.
- supported vector in dump in Ruby syntax.
- supported GRN_CTX_PER_DB environment variables.
(NOTE: You should pay attention to use this variables.)
- Added Groonga::Snippet#close that frees resource.
- Fixed build error on Ruby 1.8.7.
- Supported groonga 1.2.5.
- Added Groonga::Record#added? that returns true when the record is just added.
- Added Groonga::VariableSizeColumn#defrag? that defrags the column.
- Added Groonga::Database#defrag that defrags the all variable size columns.
- Supported column name specification by symbol.
- Fixed install *.rb failure by gem install.
- Fixed some memory leaks.
- Fixed crash bug on exit.
- Re-supported tar.gz distribution.
- Added Groonga::Context#close.
- Added Groonga::Context#closed?.
- Deprecated Groonga::ObjectClosed. Use Groonga::Closed instead.
- grndump: Added —exclude-table option that specifies not dumped tables.
- dump: Removed path equality check.
- dump: Fixed wrong index table type.
- Re-supported auto groonga install.
- Re-supported auto groonga install.
- Added missing pkg-config gem dependency.
- remove object files in gem packages.
- fix charactor corruption in reference.
- created “Developers” page in English.
- added description for tasks of “html:publish” and “publish”.
- Groonga::Record#attributes return same attributes object for duplicate records.
- added document for Groonga::Record#attributes.
- changed tool name in document page for creating document.
- moved NEWS*.rdoc and tutorial.texttile to doc/text/.
- fixed the tutorial path in index page.
- fixed the path of tutorial in index page in English.
- follow the groonga downlowd URL change. [mallowlabs]
- added document of Groonga::Table#pagination.
- added grndump in package.
- corresponded recursive reference of Records by Groonga::Record#attributes.
(experimental) [mooz]
- Groonga::Record#attributes supported data including _score.
- corresponded Windows for 64-bit.
(but there’s not 64-bit ruby, so rroonga for 64-bit windows cannot run.)
- added Groonga::Posting.
- added :delimit, :token_delimiter for alias of TokenDelimit.
- Groonga::DatabaseDumper#dump corresponded lexicon table.
- Groonga::DatabaseDumper#dump corresponded data including plugin.
- added Groonga::IndexColumn#open_cursor. [yoshihara]
- added Groonga::IndexCursor. [yoshihara]
- added Groonga::Object#builtin?. [yoshihara]
- check existence of column before removing it.
- removed grn expression document.
- Supported groonga 1.2.0.
- Added Groonga::Accessor#local_name.
- Added Groonga::IndexColumn#with_section?.
- Added Groonga::IndexColumn#with_weight?.
- Added Groonga::IndexColumn#with_position?.
- Groonga::Schema.dump supported groonga command format dump.
- Added grndump command.
- Groonga::Database#each supports order customize.
- Added Groonga::Context#match_escalation_threshold.
- Added Groonga::Context#match_escalation_threshold=.
- Improved error message.
- Supported Rubyish name like :short_text instead of the
official type name like “ShortText” in Groonga::Schema.
- Supported groonga 1.1.0.
- Added Groonga::Plugin.register.
- Supported gem creation on Windows. [Patch by ongaeshi]
- Supported generated directory that is created by Groonga::Schema removal
when table or column is removed.
- Added Groonga::Context#create_database.
- Added Groonga::Context#open_database.
- Added Groonga::Column#indexes.
- Supported a notation for specifying index column as match target in
Groonga::Table#select:
table.select do |record|
record.match(“query”) do |match_record|
(match_record.index(“Terms.title”) * 1000) |
(match_record.index(“Terms.description”) * 100)
match_record.content
end
end
- Supported prefix search in Groonga::Table#select:
table.select do |record|
record.name.prefix_search(“groo”)
end
- Supported suffix search in Groonga::Table#select:
table.select do |record|
record.name.suffix_search(“nga”)
end
- Supported :default_tokenizer schema dump.
- Supported :key_normalize schema dump.
- Supported pseudo columns by Groonga::Table#have_column?.
- Supported pseudo columns by Groonga::Record#have_column?.
- Renamed Groonga::Operatoion to Groonga::Operator.
(Groonga::Operation is deprecated but still usable.)
- Fixed a crash bug when not default Groonga::Context is used in
Groonga::Table#select.
- Fixed a crash bug when an exception is occurred.
- Improved Groonga::Schema’s n-gram tokenizer detect process.
- Fixed GC problem caused by match_target in select.
- Supported pkg-config installed by RubyGems on Ruby 1.8. [Reported by @kamipo]
- Fixed a memory leak in Groonga::Table#columns.
- Added snail_case type name aliases for built-in groonga types
to Groonga::Schema.
- Fixed a crash bug on GC. [Ryo Onodera]
- Supported groonga 1.0.4.
- Added Groonga::UnsupportedCommandVersion.
- Added Groonga::Record#support_sub_records?.
- Added Groonga::Record#eql?とGroonga::Record#hash.
(treat two the same table and the same record ID object as the same Hash key.)
- Supported pkg-config gem.
- Supported generic #record_id object handle for custom record object
in Groonga::Table#select.
- Added Groonga::Record#record_id.
- Added Groonga::Table#support_key?.
- Added Groonga::Record#support_key?.
- Added Groonga::Record#support_key?.
- Added Groonga::Column#reference_key?.
- Added Groonga::Column#index_column?.
- Added Groonga::Schema#dump.
- Supported multi columns index creation in Groonga::Schema.
- Supported meaningful path in Groonga::Schema.
- Made reference table omissible when index column definition
in Groonga::Schema.
- Added Groonga::Schema.remove_column.
- Added convenience timestamps methods to define “created_at” and
“updated_at” columns in Groonga::Schema.
- Added Groonga::Context#support_zlib?.
- Added Groonga::Context#support_lzo?.
- Added Groonga::Database#touch.
- Added Groonga::Table#exist?.
- Added Groonga::Record#valid?.
- Added Groonga::Column#vector?.
- Added Groonga::Column#scalar?.
- Added Groonga::Record#vector_column?.
- Added Groonga::Record#scalar_column?.
- Accepted any object that has record_raw_id method for record ID required
location. Groonga::Record isn’t required.
- Added Groonga::Record#record_raw_id.
- Accepted any object that as to_ary method for reference vector column value.
- Used :key as the default value of :order_by of
Groonga::PatriciaTrie#open_cursor.
- Removed a deprecated Groonga::TableKeySupport#find.
- Used ShortText as the default key type of
Groonga::Hash#create and Groonga::PatriciaTrie#create.
- Renamed Groonga::Schema#load to Groonga::Schema#restore.
- Supported pkg-confg 1.0.7.
- Added Groonga::Column#index? and deprecated Groonga::Column#index_column?.
- Added Groonga::Column#reference? and deprecated
Groonga::Column#reference_column?.
- Fixed index for key isn’t be able to define.
- Fixed a crash problem on GC.
- Fixed wrong flag used on creating a table. [Reported by ono matope]
- Supported groonga 1.0.0.
- Added Groonga::CASError.
- Added :order_by option to Groonga::Table#open_cursor.
- Added Groonga::PatriciaTrie#open_prefix_cursor that creates a cursor
to retrieve each records by prefix search.
- Added Groonga::PatriciaTrie#open_rk_cursor that creats a cursor to
retrieve katakana keys from roman letters and/or hiragana.
- Added Groonga::PatriciaTrie#open_near_cursor that creates a cursor to
retrieve records order by distance from key.
- Supported _key as index source.
- Supported groonga 0.7.4.
- Imporoved Groonga::Table#select:
- Supported weight match:
Here is an example to match source column or title column and
title column has high score:
table.select do |record|
(record.title * 10 | record.source) =~ “query”
end
- Supported and representation for and conditions:
Here are examples that represents the same condition:
table.select do |record|
conditions = []
conditions << record.title =~ “query”
conditions << record.updated_at > Time.parse(“2010-07-29T21:14:29+09:00”)
conditions
end
table.select do |record|
(record.title =~ “query”) &
(record.updated_at > Time.parse(“2010-07-29T21:14:29+09:00”))
end
- Provided groonga runtime version: Groonga::VERSION
- Added Groonga::Table#support_sub_records?
- Supported pagination: Groonga::Table#paginate, Groonga::Pagination
- Supported groonga 0.1.9.
- Many.
- Supported groonga 0.1.5
- Added API
- Groonga::Object#context
- Groonga::Record#n_sub_records
- Groonga::Context#send
- Groonga::Context#receive
- Groonga::PatriciaTrie#prefix_search [Tasuku SUENAGA]
- Groonga::Object#path [Ryo Onodera]
- Groonga::Object#lock [Tasuku SUENAGA]
- Groonga::Object#unlock [Tasuku SUENAGA]
- Groonga::Object#locked? [Tasuku SUENAGA]
- Groonga::Object#temporary?
- Groonga::Object#persistent?
- Groonga::ObjectClosed
- Groonga::Context.[]
- Groonga::Table#column_value
- Groonga::Table#set_column_value
- Changed API
- Groonga::Table#select, Groonga::Column#select
- They also accept Groonga::Expression
- Added :syntax option that specifies grn expression syntax
- Groonga::Table#open_cursor
- Added :offset option that specifies offset.
- Added :limit option that specifies max number of records.
- Changed Groonga::Expression.parse options:
- (nil (default) → :column) → (nil (default) → :query)
- :column → removed
- :table → :query
- :table_query → :query
- :expression → :script
- :language → :script
- Groonga::Table#define_column, Groonga::Table#define_index_column
- Defined column becomes persistent table by default
- Groonga::Table#[] → Groonga::Table#value
- Groonga::Table#[]= → Groonga::Table#set_value
- Groonga::Table#find → Groonga::Table#[]
- Groonga::Table#find → obsolete
- Groonga::Table#[]= → removed
- Groonga::TableKeySupport#[]= is alias of Groonga::TableKeySupport#add
- Changed exception class to Groonga::NoSuchColumn from
Groonga::InvalidArgument when Groonga::Record accesses nonexistent
a column.
- Bug fixes
- Fixed a bug that context isn’t passed to schema [dara]
- Fixed a bug that Groonga::PatriciaTrie#tag_keys doesn’t return
that last text. [Ryo Onodera]
- Added —with-debug option to extconf.rb for debug build.
- Fixed a bug that Ruby 1.9.1 may fail extconf.rb.
- dara
- Ryo Onodera
- Tasuku SUENAGA
- Supported groonga 0.1.4
- Added API
- Groonga::PatriciaTrie#scan
- Groonga::PatriciaTrie#tag_keys
- Groonga::Expression#snippet
- Groonga::Object#append
- Groonga::Object#prepend
- Supported groonga 0.1.1.
- Fixed documents [id:mat_aki]
- Supported groonga expression for searching.
- Added API
- Groonga::Table#union!
- Groonga::Table#intersect!
- Groonga::Table#differene!
- Groonga::Table#merge!
- Provided tar.gz [id:m_seki]
- Fixed memory leaks
- Added Groonga::TableKeySupport#has_key? [#26145] [Tasuku SUENAGA]
- Groonga::Record#[] raises an exception for nonexistent
column name. [#26146] [Tasuku SUENAGA]
- Supported 32bit environment [niku]
- Added a test for N-gram index search [dara]
- Added APIs
- Groonga::Record#incemrent!
- Groonga::Record#decemrent!
- Groonga::Record#lock
- Groonga::Table#lock
- Groonga::Schema: A DSL for schema definition
- Groonga::Expression
- Supported groonga 0.0.8 [mori]
- Improved preformance: cache key, value, domain and range
- Improved API
- Added documents
- Supported Ruby 1.9
- Bug fixes:
- Fixed install process [Tasuku SUENAGA]
- Fixed memory leaks