メインコンテンツまでスキップ

Whitespace

whitespace トークナイザーは、タブ、改行、フォームフィード、キャリッジリターン、スペースの5つの ASCII 空白文字でテキストを分割します。

トークン化のルール​

whitespace トークナイザーは、以下の5つの ASCII 空白文字でのみテキストを分割します:

文字名前Unicode コードポイント
\t水平タブU+0009
\n改行U+000A
\x0C または \fフォームフィードU+000C
\rキャリッジリターンU+000D
' 'スペースU+0020

これらの区切り文字は破棄され、連続する区切り文字から空のトークンは生成されません。句読点やその他の文字はトークン内に残ります。特に、垂直タブ(\x0B、U+000B)、ノーブレークスペース(\u00A0)、および全角スペース(\u3000)は分割をトリガーしません。

このセットは Rust の char::is_ascii_whitespace() に準拠しており、他の Unicode 空白文字は除外されています。

以下の例では、フィルターを指定せずに {"tokenizer": "whitespace"} を使用します。入力と出力は Python の文字列表記を使用しており、\t や \u00A0 などのエスケープシーケンスは実際の文字を表します。

入力出力トークン
"a\tb\nc\x0Cd\re f"["a", "b", "c", "d", "e", "f"]
"Hello,World! foo_bar"["Hello,World!", "foo_bar"]
"a\x0Bb"["a\x0Bb"]
"a\u00A0b"["a\u00A0b"]
"a\u3000b"["a\u3000b"]
" a b "["a", "b"]

設定​

whitespace トークナイザーを使用するアナライザーを設定するには、analyzer_params で tokenizer を whitespace に設定します。

python
analyzer_params = {
"tokenizer": "whitespace",
}

whitespace トークナイザーは、1 つ以上のフィルターと組み合わせて使用できます。たとえば、次のコードは、whitespace トークナイザーと 小文字フィルター を使用するアナライザーを定義します。

python
analyzer_params = {
"tokenizer": "whitespace",
"filter": ["lowercase"],
}

analyzer_params を定義した後、コレクションスキーマを定義する際に、それを VARCHAR フィールドに適用できます。これにより、Zilliz Cloud は指定されたアナライザーを使用してそのフィールド内のテキストを処理し、効率的なトークン化とフィルタリングを実行できます。詳細については、使用例 を参照してください。

例​

アナライザー構成をコレクションスキーマに適用する前に、run_analyzer メソッドを使用してその動作を検証してください。選択した言語の検証例では、以下の構成を使用します。

アナライザー設定​

python
analyzer_params = {
"tokenizer": "whitespace",
"filter": ["lowercase"],
}

run_analyzer を使用した検証​

python
from pymilvus import (
MilvusClient,
)

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

# Sample text to analyze
sample_text = "The Milvus vector database is built for scale!"

# Run the whitespace analyzer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Whitespace analyzer output:", result)

期待される出力​

サンプルテキストに対して、アナライザーは次のトークンを順番に生成します。SDK の応答オブジェクトと出力形式は言語によって異なります。REST 応答には、これらのトークンが data.results[].tokens[].token に含まれます。

plaintext
['the', 'milvus', 'vector', 'database', 'is', 'built', 'for', 'scale!']