<commit_before>.. -*- rst -*-

.. highlightlang:: none

defrag
======

名前
----

``defrag`` command resolves fragmentation of specified objects.

書式
----
::

 defrag objname threshold

説明
----

groonga組込コマンドの一つであるdefragについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

defragは、対象となるオブジェクト(データベースか可変長サイズカラム)を指定し、オブジェクトのフラグメンテーションを解消します。

引数
----

``objname``

  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。

返値
----

json形式
^^^^^^^^

::

 [フラグメンテーション解消を実行したセグメントの数]

``フラグメンテーション解消を実行したセグメントの数``

  フラグメンテーション解消を実行したセグメントの数を返す。

例
--

開いているデータベースのフラグメンテーションを解消する::

 defrag
 [300]

テーブル名 Entry のカラム body のフラグメンテーションを解消する::

 defrag Entry.body
 [30]

<commit_msg>doc commands/defrag.txt: use "Groonga" notation<commit_after>.. -*- rst -*-

.. highlightlang:: none

defrag
======

名前
----

``defrag`` command resolves fragmentation of specified objects.

書式
----
::

 defrag objname threshold

説明
----

Groonga組込コマンドの一つであるdefragについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

defragは、対象となるオブジェクト(データベースか可変長サイズカラム)を指定し、オブジェクトのフラグメンテーションを解消します。

引数
----

``objname``

  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。

返値
----

json形式
^^^^^^^^

::

 [フラグメンテーション解消を実行したセグメントの数]

``フラグメンテーション解消を実行したセグメントの数``

  フラグメンテーション解消を実行したセグメントの数を返す。

例
--

開いているデータベースのフラグメンテーションを解消する::

 defrag
 [300]

テーブル名 Entry のカラム body のフラグメンテーションを解消する::

 defrag Entry.body
 [30]


{'fraction_non_alphanumeric': 0.13375350140056022, 'fraction_numerical': 0.0070028011204481795, 'mean_word_length': 4.83265306122449, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3734531', 'n_tokens_mistral': 993, 'n_tokens_neox': 939, 'n_words': 84}