7.3.25. extract#

7.3.25.1. 概要#

Added in version 16.0.3.

注釈

これは実験的な機能です。現時点ではまだ安定しきっていません。

extract コマンドは、指定したエクストラクターを使って、HTMLやJSONなどの構造化されたデータからプレーンテキストや値を抽出します。

extract コマンドを使うのにテーブルを作る必要はありません。 table_createextractors オプションでエクストラクターを語彙表に割り当てる前に、エクストラクターの結果を確認するのに便利です。

エクストラクターの詳細については エクストラクター を参照してください。

7.3.25.2. 構文#

このコマンドは2つの引数を受け取ります。

extractorsvalue はどちらも必須です。

extract extractors
        value

7.3.25.3. 使い方#

以下は、 ExtractorHTML を使ってHTMLからテキストの内容を抽出する例です。HTMLタグを取り除き、文字参照を展開します。

実行例:

extract \
  --extractors 'ExtractorHTML' \
  --value "<html><body>He&lt;ll&gt;o</body></html>"
# [[0,1337566253.89858,0.000355720520019531],{"extracted":"He<ll>o"}]

以下は、 ExtractorJSON を使ってJSONから値を抽出する例です。 $.tags[*] というJSONPathは tags 配列のすべての要素にマッチします。

実行例:

extract \
  --extractors 'ExtractorJSON("path", "$.tags[*]")' \
  --value '{"tags": ["groonga", "search", "engine"], "title": "ignored"}'
# [
#   [
#     0,
#     1337566253.89858,
#     0.000355720520019531
#   ],
#   {
#     "extracted": [
#       "groonga",
#       "search",
#       "engine"
#     ]
#   }
# ]

7.3.25.4. 引数#

このセクションでは extract の引数について説明します。

7.3.25.4.1. 必須引数#

必須引数として extractorsvalue があります。

7.3.25.4.1.1. extractors#

, で区切ってエクストラクターを指定します。 extract コマンドは、エクストラクターを value に順番に適用します。あるエクストラクターの出力は、次のエクストラクターの入力として渡されます。

すべてのエクストラクターについては エクストラクター を参照してください。

7.3.25.4.1.2. value#

プレーンテキストや値を抽出したい対象の値を指定します。

value に空白を含めたい場合は、シングルクォート( ' )またはダブルクォート( " )で value を囲む必要があります。

7.3.25.5. 戻り値#

[HEADER, {"extracted": EXTRACTED_VALUE}]
HEADER

HEADER については 出力形式 を参照してください。

EXTRACTED_VALUE

指定したエクストラクターによって抽出された値です。 ExtractorHTML のようにエクストラクターが単一の値を返す場合は単一の値になります。 ExtractorJSON のようにエクストラクターが複数の値を返す場合は配列になります。

7.3.25.6. 参考#