BloGroonga

2020-01-07

Groonga 9.1.1リリース

Groonga 9.1.1をリリースしました!

それぞれの環境毎のインストール方法: インストール

変更内容

主な変更点は以下の通りです。

  • load Apache Arrow 形式のデータをサポートしました。

    • Apache Arrow形式のデータを使うことで、パースのコストを削減でき、他のフォーマットより高速にデータをロードできる可能性があります。
    • この変更によって、他のデータ分析システムからApache Arrow形式のデータを直接Groongaへ入力することもできます。
    • Apache Arrow形式のフォーマットはHTTPインターフェイスでのみ使えます。コマンドラインインターフェイスでは使えません。
  • load エラーメッセージを改善しました。

    • load コマンドのレスポンスにエラーメッセージも含むようにしました。
    • この変更によって、データのロードに失敗した場合、以下のように load コマンドのエラーの詳細を出力します。
    table_create Memos TABLE_NO_KEY
    [[0,0.0,0.0],true]
    column_create Memos content COLUMN_SCALAR Text
    [[0,0.0,0.0],true]
    load --table Memos
    [
    {"content": "Groonga is fast"}
    ]
    [[0,0.0,0.0],1]
    load --table Memos
    [
    {"_id": "invalid", "content": "Mroonga is fast"}
    ]
    [[[-22,0.0,0.0],"<_id>: failed to cast to <UInt32>: <\"invalid\">"],0]
    
    • 複数のエラーメッセージを出力したい場合は、以下のように command_version 3output_errors オプションを使用してください。
    table_create Memos TABLE_NO_KEY
    [[0,0.0,0.0],true]
    column_create Memos content COLUMN_SCALAR Text
    [[0,0.0,0.0],true]
    load --table Memos --command_version 3 --output_errors yes
    [
    {"_id": "invalid", "content": "Groonga is fast"},
    {"_id": "invalid", "content": "Mroonga is fast"}
    ]
    {
      "header":{
        "return_code":-22,
        "start_time":1576717803.408522,
        "elapsed_time":0.8798723220825195,
        "error":{
          "message":"<_id>: failed to cast to <UInt32>: <\"invalid\">",
          "function":"parse_id_value",
          "file":"load.c","line":394
        }
      },
      "body":{
        "n_loaded_records":0,
        "errors":[
          {
            "return_code":-22,
            "message":"<_id>: failed to cast to <UInt32>: <\"invalid\">"
          },
          {
            "return_code":-22,
            "message":"<_id>: failed to cast to <UInt32>: <\"invalid\">"
          }
        ]
      }
    }
    
  • [httpd] バンドルしているnginxのバージョンを1.17.7に更新しました。

  • Groonga HTTPサーバー HTTPリクエストのbodyにコマンドのパラメータを指定できるようにしました。

    • この場合、 Content-Typeapplication/x-www-form-urlencoded を指定しなければいけません。
    • HTTP POSTリクエストを使うことで、以下のように複数のパラメータをHTTPリクエストのボディに指定できます。
    POST /d/status HTTP/1.1
    Host: 127.0.0.1:10041
    Content-Length: 35
    Content-Type: application/x-www-form-urlencoded
    
    command_version=3&output_pretty=yes
    

さいごに

9.1.0からの詳細な変更点は9.1.1リリース 2020-01-07を確認してください。

それでは、Groongaでガンガン検索してください!