[Groonga-commit] groonga/groonga.org at 2ac88d4 [gh-pages] blog en: Groonga 5.0.1 has been released!

Back to archive index

HAYASHI Kentaro null+****@clear*****
Mon Mar 30 12:13:14 JST 2015


HAYASHI Kentaro	2015-03-30 12:13:14 +0900 (Mon, 30 Mar 2015)

  New Revision: 2ac88d410028a67f4191590bc3925e7bbfda6794
  https://github.com/groonga/groonga.org/commit/2ac88d410028a67f4191590bc3925e7bbfda6794

  Message:
    blog en: Groonga 5.0.1 has been released!

  Added files:
    en/_posts/2015-03-29-release.md

  Added: en/_posts/2015-03-29-release.md (+143 -0) 100644
===================================================================
--- /dev/null
+++ en/_posts/2015-03-29-release.md    2015-03-30 12:13:14 +0900 (c59879a)
@@ -0,0 +1,143 @@
+---
+layout: post.en
+title: Groonga 5.0.1 has been released
+description: Groonga 5.0.1 has been released!
+---
+
+## Groonga 5.0.1 has been released
+
+[Groonga 5.0.1](/docs/news.html#release-5-0-1) has been released!
+
+How to install: [Install](/docs/install.html)
+
+### Changes
+
+In this release, there is following the topics:
+
+  * Incompatible changes
+    * The two incompatible changes for DB API users
+  * Improvements
+    * Supported to customize score function
+    * [windows] Supported more compact default database size on Windows
+  * Experimental improvements
+    * Supported regular expression
+    * Supported to skip posting list
+
+#### Incompatible changes - The two incompatible changes for DB API users
+
+In this release, Internal type of `_score` was changed from 32bit integer number to floating point number.
+This is incompatible change for DB API users. This isn't incompatible change for query API users.
+It means that users who just use select command aren't affected.
+Use the following code that works with both older and newer Groonga:
+
+    grn_obj *score;
+    double score_value;
+
+    if (score->header.domain == GRN_DB_FLOAT) {
+      score_value = GRN_FLOAT_VALUE(score);
+    } else {
+      score_value = (double)GRN_INT32_VALUE_FLOAT_VALUE(score);
+    }
+
+Also, custom score function feature introduced API and ABI incompatibilities in DB API layer.
+If you're using `grn_search_optarg`, please check that your code initializes your `grn_search_optarg` by 0 like the following:
+
+    grn_search_optarg options;
+    memset(&options, 0, sizeof(grn_search_optarg));
+
+If your code do the above thing, your code is API compatible and ABI incompatible.
+You just need to rebuild your code without modification.
+
+If your code doesn't the above thing, you need to added the above thing to your code.
+
+#### Improvements - Supported to customize score function
+
+In this release, customizing score function feature is supported.
+
+There are two built-in score functions.
+
+  * [scorer_tf_idf](/docs/reference/scorers/scorer_tf_idf.html)
+
+    * The frequency of "important term" is important for the score
+  * [scorer_tf_at_most](/docs/reference/scorers/scorer_tf_at_most.html)
+
+    * The matched count is important, but it doesn't exceed the limit
+
+Groonga use the value of TF (Term Frequency) by default.  For example, try to search against multiple columns - title column and message column.
+
+Usually, the content of title column represents summary of message column.
+It is reasonable to give title column the weight. As a result, you can search more important records easily.
+
+Note that there is a case that the score of title column with weight is less than matched message column. It is not intended search results.
+
+If you use `scorer_tf_at_most` score function, you can limit the value of score to specific value even though too many records are matched.
+
+See following the [scorer document](/docs/reference/scorer.html).
+
+#### Improvements - [windows] Supported more compact default database size on Windows
+
+In this release, more compact default database size on Windows is enabled by default.
+
+In the previous versions, Groonga uses more larger default database size (128MiB) on Windows. The size of database increases every you create new column.
+
+It is not efficient, now Groonga supports to expand database size gradually as same as other GNU/Linux environment.
+
+This feature is introduced since Groonga 4.1.1, but not enabled by default because it is experimental feature at that time.
+
+Thank you for Groonga users which gives us feedback of above feature!
+
+#### Experimental improvements - Supported regular expression
+
+In this release, Groonga supports regular expression.
+
+You can use regular expression in select command with [query option](/docs/reference/commands/select.html#search-condition-query) or [filter option](/docs/reference/commands/select.html#search-condition-filter). Note that syntax is a bit different.
+
+query:
+
+    ${COLUMN}:~${REGULAR_EXPRESSION}
+
+filter:
+
+    ${COLUMN} @~ ${REGULAR_EXPRESSION}
+
+The difference between ":~" and "@~" is come from design of Groonga.
+
+"query" accepts query syntax, on the other hand, "filter" accepts
+script syntax.
+
+"filter" is designed for processing more complex search conditions.
+
+You can search by regular expression with index. Create indexes which meets following the conditions:
+
+  * Lexicon must be TABLE_PAT_KEY table.
+  * Lexicon must use TokenRegexp tokenizer.
+  * Index column must has WITH_POSITION flag.
+
+Thus, create following the column index.
+
+    table_create RegexpLexicon TABLE_PAT_KEY ShortText \
+      --default_tokenizer TokenRegexp \
+      --normalizer NormalizerAuto
+    column_create RegexpLexicon logs_message_index \
+      COLUMN_INDEX|WITH_POSITION Logs message
+  
+Then, you can search with regular expression by using index for message column.
+
+See following the document about [regular expression](/docs/reference/regular_expression.html).
+
+#### Experimental improvements - Supported to skip posting list
+
+In this release, Groonga supports to skip posting list when searching popular term and rare term at the same time.
+
+It will improve performance. Set `GRN_II_CURSOR_SET_MIN_ENABLE` environment variable to 1 to enable the feature.
+
+    GRN_II_CURSOR_SET_MIN_ENABLE=1
+
+The feature is disabled by default because it is experimental feature.
+
+
+### Conclusion
+
+See [Release 5.0.1 2015-03-29](/docs/news.html#release-5-0-1) about detailed changes since 5.0.0.
+
+Let's search by Groonga!
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index