[Groonga-commit] groonga/groonga.wiki at a01ec33 [master] 英語版を

Back to archive index

HAYASHI Kentaro null+****@clear*****
Mon Mar 30 11:54:29 JST 2015


HAYASHI Kentaro	2015-03-30 11:54:29 +0900 (Mon, 30 Mar 2015)

  New Revision: a01ec3369f39b5f0bb1ee71a469de3c5021afbb6
  https://github.com/groonga/groonga/wiki/ReleaseNote/a01ec3369f39b5f0bb1ee71a469de3c5021afbb6

  Message:
    英語版を

  Modified files:
    ReleaseNote.md

  Modified: ReleaseNote.md (+288 -0)
===================================================================
--- ReleaseNote.md    2015-03-29 13:48:16 +0900 (9938263)
+++ ReleaseNote.md    2015-03-30 11:54:29 +0900 (e24fdc9)
@@ -1,5 +1,293 @@
 # 5.0.1 en
 
+```
+Groonga 5.0.1 has been released!
+  http://groonga.org/docs/news.html#release-5-0-1
+
+Install: http://groonga.org/docs/install.html
+Charcteristics:  http://groonga.org/docs/characteristic.html
+
+There are following the topics in this release.
+
+* [incompatible] The two incompatible changes for DB API users
+* [experimental] Supported regular expression
+* Supported to customize score function
+* [windows] Supported more compact default database size on Windows
+* [experimental] Supported to skip posting list
+
+# Topics
+
+## [incompatible] 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.
+
+## [experimental] Supported regular expression
+
+In this release, Groonga supports regular expression.
+
+You can use regular expression in select command with query option or 
+filter option. 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.
+
+  http://groonga.org/docs/reference/regular_expression.html
+
+## Supported to customize score function
+
+In this release, customizing score function feature is supported.
+
+There are two built-in score functions.
+
+  * scorer_tf_idf
+    The frequency of "important term" is important for the score
+  * scorer_tf_at_most
+    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.
+
+  http://groonga.org/docs/reference/scorer.html
+
+## [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] 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.
+
+# Changes
+
+## Improvements
+
+  * [logical_range_filter] Supported filter and sort.
+
+  * Supported range search by multiple column index.
+
+  * Added API Overview document for users who want to use Groonga as
+    library.
+
+  * [incompatible] Changed internal type of _score to floating point
+    number from 32bit integer 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 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);
+      }
+
+  * [select] Added more strict check for invalid drilldown parameter.
+  * Added grn_ctx_get_all_tables(). [Suggested by Masatoshi Teruya]
+  * Supported to customize score function. See Scorer for details.
+  * [incompatible] 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.
+
+  * Added the following predicates that check grn_obj type to DB API:
+    * grn_obj_is_table()
+    * grn_obj_is_proc_proc()
+    * grn_obj_is_function_proc()
+    * grn_obj_is_selector_proc()
+    * grn_obj_is_scorer_proc()
+
+  * [experimental] Supported skipping 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. The feature is disabled by default.
+
+  * [doc] Added in_values document.
+  * [doc] Added logical_count document.
+  * [mruby] Implemented custom #inspect method. Is is useful for
+    debugging.
+  * Added scorer_tf_at_most scorer. It limits not to exceed specified
+    score regardless of term frequency.
+  * [mruby] Supported estimating matched records for selecting index
+    search or sequential search.
+  * Added the following functions to estimate size by index:
+    * grn_expr_estimate_size()
+    * grn_ii_estimate_size_for_query()
+    * grn_ii_estimate_size_for_lexicon_cursor()
+  * Added missing NormalizerAuto availability check. [GitHub#283]
+    [Reported by Tasuku SUENAGA]
+  * Dropped Visual Studio 2010 support.
+  * [experimental][mecab] Supported chunked tokenization. This feature
+    is a workaround for MeCab's "too long sentense" error. Specify yes
+    to GRN_MECAB_CHUNKED_TOKENIZE_ENABLED environment variable to
+    enable it. By this configuration, Groonga splits a long text (8192
+    bytes over text by default) into small chunks and passes each
+    chunk to MeCab. By this process, the above error isn't
+    occurred. Additionally, you can customize chunk threshold bytes by
+    GRN_MECAB_CHUNK_SIZE_THRESHOLD environment variable. Note that ,,
+    ., !, ?, U+3001 IDEOGRAPHIC COMMA, U+3002 IDEOGRAPHIC FULL STOP,
+    U+FF01 FULLWIDTH EXCLAMATION MARK and U+FF1F FULLWIDTH QUESTION
+    MARK are treated as chunk delimiter characters.
+  * Supported --pid-file in server mode of groonga command.
+  * [groonga-httpd] Supported graceful stop to clean Groonga. It
+    doesn't terminate the open connections immediately.
+  * [experimental] Supported regular expression. See Regular
+    expression to know about how to use regular expression.
+  * [experimental] Added plugin_unregister command.
+  * [http][load] Added "," as chunk separator in POST data. It
+    decreases internal buffer size and improves load time when POST
+    data don't include any new line.
+  * [doc] Added Tokenizers document.
+  * Improved POSIX.2 compatibility by using . as bash's "source"
+    command replacement. [GitHub#317] [Patch by Jun Kuriyama]
+  * [windows] Changed to the default IO version 1. It reduces disk
+    usage on Windows. [groonga-dev,03118] [Tested by ongaeshi]
+  * [httpd] Updated bundled nginx version to the latest mainline
+    (1.7.11).
+  * Changed mime-type for TSV output to text/tab-separated-values from
+    text/plain.
+  * [TokenFilterStopWord] Supported Offline index
+    construction. [GitHub#296] [Patch by Naoya Murakami]
+
+## Fixes
+
+  * Fixed not to use obsolete --address parameter in the default
+    groonga.conf. --bind-address is used instead. [Groonga-talk]
+    [Reported by Dewangga]
+  * [truncate] Fixed a bug that TABLE_NO_KEY table can't be truncated.
+  * [mecab] Reduced needless logs for "empty token" and "ignore empty token".
+  * Fixed a bug that wrong section in index is used. It means that
+    wrong search result is returned. If you satisfy all of the following
+    conditions, this bug is occurred:
+    * Multiple indexes are available.
+    * The first defined index or the last defined index are multi-column indexes.
+    * When both of the first defined index and the last defined index are
+      multi-column indexes, source column orders are different in them.
+  * Fixed a bug that passing Groonga command line to groonga command
+    from shell command line style usage always returns 0 as exit
+    code. For example, groonga DB_PATH nonexistent_command always
+    returned 0 as exist code.
+  * Fixed a bug that plugin path may be broken when two or more plugins
+    registered. [Reported by Naoya Murakami]
+  * Fixed a bug that Lexicon.index.source_column_name style in
+    match_columns doesn't work when source column specified by
+    source_column_name has two or more indexes.
+    [Reported by Naoya Murakami]
+
+## Thanks
+
+  * Masatoshi Teruya
+  * Tasuku SUENAGA
+  * Dewangga
+  * Jun Kuriyama
+  * ongaeshi
+  * Naoya Murakami
+
+```
 # 5.0.1 ja
 
 今月のアナウンスには次のトピックを入れよう
-------------- next part --------------
HTML����������������������������...
Download 



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