groonga 14.0.1

Groonga is a fast and accurate full text search engine based on inverted index. One of the characteristics of Groonga is that a newly registered document instantly appears in search results. Also, Groonga allows updates without read locks. These characteristics result in superior performance on real-time applications. Groonga is also a column-oriented database management system (DBMS). Compared with well-known row-oriented systems, such as MySQL and PostgreSQL, column-oriented systems are more suited for aggregate queries. Due to this advantage, Groonga can cover weakness of row-oriented systems. The basic functions of Groonga are provided in a C library. Also, libraries for using Groonga in other languages, such as Ruby, are provided by related projects. In addition, groonga-based storage engines are provided for MySQL and PostgreSQL. These libraries and storage engines allow any application to use Groonga.

Tags search
License GNU LGPLv3
State stable

Recent Releases

14.0.115 Mar 2024 06:25 minor feature:
14.0.001 Mar 2024 06:05 minor feature:
13.1.109 Jan 2024 21:46 minor feature:
10.0.730 Sep 2020 07:45 minor feature: Hash: a that grn_hash_get() runs infinitely . Travis macos: increase the number of openable files. . ci: use GitHub Actions for CMake on macOS. . ci macos: use build directory. . ci: use actions/checkout v2. . Cmake: generate version.sh into build directory. . ci macos: set SDKROOT for mruby. . ci macos: enable Apache Arrow. . Apache-arrow: require 1.0.0. . Add missing static to internal function. . ii: remove unused functions. . ii: add const to read only variables. . ii: add const to source chunk data. . ci: add missing "=". . ii: add const to source buffer data. . ii: add more const to source chunk data. . ii: don't keep needless buffer_term. . ii chunk_merge: add error check for grn_p_encv(). . ii chunk_free: remove unused argument. . ii grn_p_encv: use -1 for error. . ii chunk_merge: don't free source chunk immediately. . Highlight highlight_full: add support for normalizer options. . Error: add GRN_CONNECTION_RESET. . Add a missing ;. . Grn_hash_reset: log. . Rename grn_obj_is_lexicon() to grn_obj_is_table_with_key(). . Rename grn_obj_is_lexicon() to grn_obj_is_lexicon_without_data_column(). . Remove an out-of-date script. . Package ubuntu: remove 19.10. . Tool create-hath-table-with-duplicated-key: add. . Grn_table_get_duplicated_keys grn_table_have_duplicated_keys: add. . Grn_db_recover: add support for recovering broken lexicon without dat . . Mrb: add TableWithKey to provided methods only for table with key. . Mrb: add support for getting values from vector column. . Grndb: add support for detecting and recovering duplicated key table. . Hash: add support for dirty check. . Tool create-hash-table-with-duplicated-key: don't build on Windows. . Grndb check: don't check table with key for corrupt table. . Test grndb: update expected. . Test command_line windows: omit tests that use pre-created ture DB. . Revert "hash: add support for dirty check". . ii near_phrase: a infinite loop. Grn_inspect: add
10.0.629 Aug 2020 03:25 minor feature: ci windows-msvc: path . ci linux-mingw: add missing checkout. . Appveyor: don't use substring for JOB_TYPE value. . Doc news: add a missing entry. . Cmake: use find_package(). . Cmake windows: use /Ob2 with RelWithDebInfo for performance. . Cmake: don't require pkg-config. . Cmake: a typo. . Mruby: update to remove bison dependency. . Windows: ensure using 64bit version time functions. . Windows: ensure using 64bit version localtime_s(). . Apache-arrow: upgrade to 1.0.0. . Cmake: ensure expanding variable. . Mruby mingw i686: use _time64_t. . Cmake: don't expand quoted value in if(). . Logical_range_filter: improve planning for large data. . Logical_range_filter: tune planning. . Mingw 32bit: give up support for 64bit time. . Mingw 32bit: recent 32bit MinGW provides _mkgmtime(). . Windows: remove needless ifdef. . Mingw: don't use MinGW's vsnprintf() implementation. . Mingw: don't use the MSVCRT's vsnprintf() implementation. . io: remove unused grn_io_win::pos field. . Windows io: use int64_t instead of off_t explicitly. . Groonga http: revert select() before WSASend() and sendmsg(). . Groonga http: type for send log size. . Nginx: update bundles version to 1.19.1. . Grn_ii_estimate_size_for_query_regexp: wrong type. . ii near_phrase: add support for the last phrase by " ". . a that garbage may be included in response after response sen . . Regexp: add support for searching ".", ".." and so on by index. . Regexp: multiple characters before "." and multiple "." cases. . Doc install: modify how to install into Debian GNU/Linux. . Regexp: remove garbage GRN_OBJ_FIN(). . Regexp: "a." with two more last characters case. . ci windows: use the latest red-arrow. . Test: ignore IO related logs. . Grn_expr_ set,get _condition: add new APIs to set/get condition to ex . . Logical_select: add support for highlight and snippet families. . Array: add support for recycling deleted IDs without value space. .
10.0.531 Jul 2020 03:15 minor feature: Windows: use _BitScanReverse() to find the most significant 1 bit . Bump version. . Output json: use null for NaN, Infinity and -Infinity. . Grn_obj_is_number_family_scalar_column: add. . Aggregator_*: wrong input validation. . Aggregator_*: wrong error code. . Aggregator_sd: add. . Cmake: document. . Doc: add a explanation about Float32 type. . Packages centos8: msgpack-devel and libzstd-devel are available. . Packages centos8 yum: enable test. . Package centos8: disable test again. . Aggregator_*: support score accessor for target. . Grn_table_add_subrec: inline. . Grn_selector_data_current_add_score: inline data availability check. . Grn_table_sort: improve performance by using resolved ID. . Move error related definitions to grn_error.h from grn_ctx.h. . GRN_IO_ARRAY_AT: use static inline instead of macro. . Split grn_table_module related API to table_module. c,h . . Remove moved declarations. . Use cinttypes with C++. . Add missing include. . Grn_table_cursor_foreach(): add. . Grn_table_cursor: use grn_table_cursor_foreach() for single key case. . Grn_table_group: optimize single key size column case. . Grn_table_group: unify acceleration code. . Grn_table_group: unify acceleration code for reference vector. . Grn_table_group: unify acceleration code for reference vector. . Grn_table_group: optimize adding a record to group. . Grn_table_group: add orphan record check again. . ci mingw: generate PDB. . Appveyor: drop support for Visual Studio 2013. . ci linux-mingw: run test. . ci windows-msvc: add Visual Studio 2017 cases. . ci: a typo. . ci windows-msvc: adjust CMake arguments. . ci linux-mingw: artifact path handling. . ci windows-msvc: add missing Env: . ci windows-msvc: "!=" doesn't exist in batch file. . ci linux-mingw: add missing " ". . ci windows-msvc: architecture name for
10.0.427 Jun 2020 14:25 minor feature: Bump version . Select load_table: add support for reference count. . io: keep path instead of getting path from file descriptor or handle. . Test: split reference count test for Windows and not Windows. . Test: remove log normalization. . Extract functions for token column. . Arrow: export arrow::Status and arrow::Result related functions inter . . Token_column: add support for parallel offline construction. . Token_column: a parallel offline construction. Token_column: reduce scope. . Token_column: use GRN_CURSOR_BY_ID for performance. . Token_column: increase the default parallel offline construction thre . . ci msys2: upgrade pacman first. . ci msys2: ignore dependencies for pacman. . Vector_slice: support float32. . ci msys2: remove workaround. . Grn_tokenizer_query: use uint32_t instead of unsigned int for flags. . Token_column: don't use nullptr for g++ on CentOS 6. . Token_column: add missing GRN_ID_NIL checks. . Token_column: improve parallel offline build performance. . Grn_token_cursor_cursor: remove garbage grn_io_lock(). . Groonga http: don't use header after the last chunk. . Mruby: use "unref" instead of "unlink" to use the same term in Groonga. . Grn_accessor_execute: add support for reference count. . Grn_accessor_estimate_size_for_query: add support for reference count. . Grn_obj_: log reference count message only for DB object. . Arrow: add support for reference count. . Scan_info_build_match: add support for reference count. . Grn_table_select_index_range_column: add support for reference count. . Grn_hash_reset: add support for reference count. . Use grn_obj_unref() instead of grn_obj_unlink() and grn_enable_refere . . Mrb IndexColumn#estimate_size_for_query: add support for reference count. . Mrb IndexCursor#select: add support for reference count. . Mrb TableSortKey: add support for reference count. . Logical_count: a that range index is never used. . LogicalEnumerator: add support
10.0.330 May 2020 14:45 minor feature: Bump version . Mruby: disable missing-field-initializers warning. . Add weight vector and uvector related predicates. . Use grn_obj_is_weight_uvector(). . Github-actions: use upload-artifacts v2. . Move vector related codes to vector.h and vector.cpp. . Add missing AC_SUBST. . Add grn_type_id_size(). . Use explicit size types. . Use explicit size types. . Cast: add support for key type to reference uvector cast. . Use explicit size types. . Add support for float32 weight vector. . Test: update expected. . Arrow: add support for float32 weight vector. . Add support for near phrase search. . Near-phrase: a that inverted order isn't match. . Doc near-phrase: add rough document. . Doc: remove needless GRN_API. . Doc: restore file list. . Scorer: improve "_score = column1 X + column2 Y +..." performance. . Sort: cache the first referred value again. . Select: add scorer content to query log. . Sort: improve performance. . Vector: a vector value get. Vector: add WEIGHT_FLOAT32 flag to pack() too. . Grn_db_value_lock: increase the max number of tries. . Grn_ctx_at: add error check on lock. . Extract selector related declarations. . Use grn_obj_unref(). . Add grn_selector_data. . Add grn_plugin_proc_get_value_operator(). . Remove garbage. . Add missing include. . Add grn_proc_options_parse() and grn_proc_options_vparse(). . Add grn_plugin_proc_get_value_bool(). . Snippet: use grn_proc_options_parse(). . Fuzz_search: use grn_proc_options_parse(). . Use grn_obj_refer() and grn_obj_unlink(). . Add missing proc.h. . Reuse buffer on outputting records. . Metadata. . Pass expr to grn_selector_run. . Use grn_selector_run for no index case. . Grn_obj_reinit: add more information to error message. . Grn_obj_reinit: use grn_obj_unref(). . Grn_output_uvector: use grn_obj_unref(). . Use XXXv() instead of vXXX() for va_list API. . Grn_obj_reinit: don't use grn_ctx_at() in grn_obj_reinit(). . ci: remove Docker bas
10.0.229 Apr 2020 22:05 minor feature: ci linux-mingw: add missing . Bump version. . Delete: a that unrelated column value may be cleared. . Use more meaningful name. . Delete: use more strict check. . Dump: a memory on with sort_hash_table. . Select: a memory leak on invalid output_columns. . Snippet: a memory leak. . Select slices: a memory leak on initial stage. . Select slices: use local assigned variable. . Logical_table_remove: a memory leak in Table#delete. . Grn_expr_parse: a memory leak on reference count mode. . Grn_table_get_score: a memory leak on reference count mode. . Grn_obj_unref: add a new API. . Index_column_*: memory leaks on reference count mode. . Select_to_function_data_fin: a memory leak on reference count mode. . Arrow: use emitter API. . ci: enable test on Windows again. . Arrow: improve performance on many small chunks. . Arrow: support Apache Arrow 0.16.0 again. . Arrow: update submodule. . Don't distribute include/groonga/version.h. . Install groonga/version.h. . Expr: ensure initializing scan_info::query. . Select slices: unlink tables after unlinking others. . Reference-count: add more delogs. . Grn_obj_set_value_column_var_size_vector: use grn_obj_unref(). . Load vector: add support for inserting weight vector as a JSON string. . Test: extension. . Load vector: add content as one vector element as is for invalid JSON. . Packages windows: improve the target build detection for master. . Update release procedure. . Load arrow: too much unlink _key accessor. . Add Float32 type. . Msgpack: a typo. . Msgpack: build error with msgpack 1.4.2. . Vector: don't use "auto" for old g++ on CentOS 6. . Msgpack: really build error with msgpack 1.4.2. . Msgpack: a typo. . Apache-arrow: update. . Float32: reduce the digit number to show. . Float32: add a test for sort. . Test float32: add a test for loading float32 vector. . Float32: ensure adding Float32 type to existing DB. . Msgpack: 1.4 doesn't have MSGP
10.0.101 Apr 2020 18:45 minor feature: Packages windows: add support for downloading tagged version . ci windows-msvc: bundle vcruntime140_1.dll. . Bump version. . Doc news: add news topics for 10.0.1. . Update latest release.
10.0.028 Mar 2020 06:05 minor feature: Packages: add repository information . Packages yum: remove groonga-release. . Revert "Revert "mruby: upgrade to 59464f35285e65598bca94ad9e77be6848a . . Revert "Revert "mruby: update mrbgems source path"". . ci: order. . Use the latest Apache Arrow. . Packages: remove needless code. . Doc install debian: use groonga-archive-keyring. . Doc install ubuntu: add 19.10. . Doc install centos: use groonga-release for each version. . Packages centos: use versioned groonga-release. . Doc: add missing translate. . Doc news: update entries. . Packages ubuntu: add support for customizing minor version. . Appveyor: enable grntest again. . Nginx: update bundles version to 1.17.8. . Remove GRN_VERSION from config.h. . Mruby: update mruby-pp to crash with the latest mruby. . ci: update how to install Apache Arrow. . Github-actions msvc: enable test. . ci: remove garbage. . ci: remove garbage. . Grn_arrow_load: a crash. Windows: log path in delog level. . ci: add missing " ". . Travis: enable Apache Arrow for master build. . Bump version. . Travis: update Homebrew explicitly. . Add docker-compose to run test Docker containers. . ci: disable test/command/ tests on Ubuntu 16.04. . Add support for file open/delog on Linux. . Load: keep reference of index column of referenced table. . Appveyor: disable tests for x86. . Mruby windows 32bit: use MRB_METHOD_T_STRUCT. . Mruby: don't reset MRUBY_DEFINITIONS defined in the top-level CMakeLi . . Appveyor: specify "cmake -A" explicitly. . Windows mingw 32bit: use MRB_METHOD_T_STRUCT. . Appveyor: don't set "cmake -A" explicitly. . io: reduce open/log level on Linux. . Test/unit: reduce collect log level. . Mruby: update to 7905431fe98b7f075033657aff15982d7e4613e6. . Mruby: add Writer#flush. . Groonga: add support for stream output by JSON. . ci: install red-arrow explicilty. . Logical_range_filter: add support for stream output. . Logical_range_filter: make test workable
9.1.230 Jan 2020 03:15 minor feature: a typo . Doc load: document Content-Type for Apache Arrow. . Add a tool that copies only related files. . Include tools into archive. . Add log for reference count. . Reduce log level for reference count. . Grn_obj_default_set_value_hook: ensure unlinking referred object. . Grn_obj_set_info_source_validate: ensure unlinking referred object. . Grn_obj_reinit: ensure unlinking referred object. . Grn_index_column_build: ensure unlinking referred object. . Update_source_hook: ensure unlinking referred object. . Grn_table_truncate_reference_objects: ensure unlinking referred object. . Grn_obj_set_info_source_validate: ensure unlinking referred object. . Grn_ctx_at: ensure unlinking referred object. . Grn_index_column_build: ensure unlinking referred object. . Grn_ii_builder_fin: ensure unlinking referred object. . ii: ensure referring lexicon. . Temporary_open_space: disable on reference count mode. . Add GRN_TINY_ARRAY_EACH_BEGIN/END. . Grn_db_: defer closing tables. . Groonga: accept "/d/shutdown?mode=immediate" immediately even when al . . Grn_db_unmap: defer closing tables. . Grn_obj_cast_to_record: ensure unlinking referred object. . Grn_obj_set_value_column_var_size_vector: ensure unlinking referred o . . Grn_obj_get_value_column_vector: ensure unlinking referred object. . Grn_column_get_all_index_columns: add a new API. . Set_vector: ensure unlinking referred object. . Load: keep references of related object while loading. . Github-actions: enable mruby. . Cmake: add support for Ruby 2.7. . Github-actions: install Bison for mruby. . Github-actions: package name. . Github-actions: reorder. . Use URI#open. . Use osdn.jp. . Github-actions: use win_bison.exe. . Cmake mruby windows: ensure using Visual C++ mode. . Cmake mruby windows: ensure using Visual C++ compilers. . Cmake mruby windows: quote a path that may include a space. . Windows mruby
9.1.108 Jan 2020 06:25 minor feature: Use Apache Arrow instead of Arrow . Packages: add missing description to apt:release and yum:release. . Use n_ style. . Travis: enable Apache Arrow. . Packages: add missing require. . Packages windows: use UTF-8 for language file encoding. . Revert "Revert "Optimize sort by value"". . Revert grn_obj_ensure_bulk() change in 7e30c01. . Load: add support for Apache Arrow. . Add missing Apache Arrow availability check. . Sort: allocate grn_obj as separated array and use them as pointer. . Appveyor: use the latest Apache Arrow package. . Github-actions: ensure updating APT information. . Packages mingw: disable Apache Arrow. . Add missing grn_arrow.h. . Include grn_arrow.h only when Apache Arrow is enabled. . Doc: add a how to install for CentOS 8. . Packages: add missing existent check. . Bump version. . Vector set: add support for setting values by Int64 uvector. . Load: add support for vector. . Load: add support for weight vector. . Test: --stop-on-failure is also no argument option. . Test: don't use empty records for load data. . Load arrow: use view. . Load arrow: add support for casting reference key. . Load arrow: add support for number key again. . Load arrow: use "put_". . a typo. . Test: wrong vector value. . Test: don't use empty value load. . Test: don't use empty value load. . Load arrow: cast value to column's type. . ii: add support for auto cast when updating with uvector. . Load arrow: a memory leak. . Github-actions: add a workflow for CI on Linux. . Test: don't use empty record for load. . Test: don't use empty record for load. . Github-actions: add missing sudo. . Github-actions: continuous line syntax. . Github-actions: install Sphinx. . Github-actions: install Ruby. . Github-actions: submodules is removed. . Github-actions: install Bison. . Github-actions: use debuild. . Github-actions: install gettext. . Use static inline instead of macro for easy to de. Referenc
9.1.028 Nov 2019 09:05 minor feature: Github-actions: try uploading packages . Github-actions: a typo. . Github-actions: a typo. . Github-actions: use different artifact name for each job. . Github-actions: run on tag. . ii: a overflow of estimated size. . Bump version. . Configure: test(1) portability. . Tool: bundle index_column_diff script. . Tools: bundle missing scripts. . Remove too much unlink. . Remove too much unlink. . Add support for enabling reference count by environment variable. . Mrb: add support for Groonga::Bulk to GRN_BULK conversion. . Grn_accessor_estimate_size_for_query: add a new API. . Mrb: add Groonga::Accessor#estimate_size. . Estimater: add support for estimation for "accessor @ query" again. . Estimater: improve precision for estimation of "accessor == query". . Don't estimate no indexed accessor query. . Logical_range_filter: increase threshold to 0.3 from 0.2. . Doc api: a typo. . Test: update expected. . Use URI#open. . Accept not completed AppVeyor build if the latest build isn't completed. . Check whether downloaded. . Source: replace weak signing key. . Doc: a typo. . Add new option for tokenmecab. . Remove grnts. . Use early return. . Remove decode. . Cache columns for clearing values on delete. . Use cached column for deleting referenced records on delete. . Mingw: use the latest cv2pdb.exe URL. . Reduce cache clear scope. . Optimize sequential search for simple match and simple pre. Revert "Optimize sequential search for simple match and simple pre". . Remove needless spaces. . Extract sub text finder as grn_raw_string_have_sub_text(). . Inverted condition. . Optimize sequential search for simple match. . Packages: use the latest package-task. . Packages: vendor apache-arrow and add packages.groonga.org configuration. . Packages: use "rake version:update". . Github-actions: stop fetch-depth: 1. . a typo. . Packages :remove unused variable. . Packages add support for "rake version:update". . Grn
9.0.930 Oct 2019 18:42 minor feature: