7.3.25. extract#
7.3.25.1. 概要#
Added in version 16.0.3.
注釈
これは実験的な機能です。現時点ではまだ安定しきっていません。
extract コマンドは、指定したエクストラクターを使って、HTMLやJSONなどの構造化されたデータからプレーンテキストや値を抽出します。
extract コマンドを使うのにテーブルを作る必要はありません。 table_create の extractors オプションでエクストラクターを語彙表に割り当てる前に、エクストラクターの結果を確認するのに便利です。
エクストラクターの詳細については エクストラクター を参照してください。
7.3.25.2. 構文#
このコマンドは2つの引数を受け取ります。
extractors と value はどちらも必須です。
extract extractors
value
7.3.25.3. 使い方#
以下は、 ExtractorHTML を使ってHTMLからテキストの内容を抽出する例です。HTMLタグを取り除き、文字参照を展開します。
実行例:
extract \
--extractors 'ExtractorHTML' \
--value "<html><body>He<ll>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. 必須引数#
必須引数として extractors と value があります。
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}]
HEADERHEADERについては 出力形式 を参照してください。EXTRACTED_VALUE指定したエクストラクターによって抽出された値です。 ExtractorHTML のようにエクストラクターが単一の値を返す場合は単一の値になります。 ExtractorJSON のようにエクストラクターが複数の値を返す場合は配列になります。