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

Standard Analyzer

standard analyzer は Zilliz Cloud のデフォルト analyzer であり、analyzer が指定されていない場合はテキストフィールドに自動的に適用されます。文法ベースのトークン化を使用するため、ほとんどの言語で効果的です。

Notes

standard analyzer は、単語境界に区切り文字(スペースや句読点など)を使用する言語に適しています。ただし、中国語、日本語、韓国語などの言語では辞書ベースのトークン化が必要です。そのような場合は、正確なトークン化とより良い検索結果を得るために、chinese のような言語固有の analyzer、または専用の tokenizer(lindera、icu など)と filter を組み合わせたカスタム analyzer の使用を強く推奨します。

定義​

standard analyzer は次のコンポーネントで構成されています。

  • Tokenizer: standard tokenizer を使用して、文法ルールに基づきテキストを個別の単語単位に分割します。詳細については、Standard Tokenizer を参照してください。

  • Filter: lowercase filter を使用してすべてのトークンを小文字に変換し、大文字と小文字を区別しない検索を可能にします。詳細については、Lowercase を参照してください。

standard analyzer の機能は、次のカスタム analyzer 設定と同等です。

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

設定​

フィールドに standard analyzer を適用するには、analyzer_params で type を standard に設定し、必要に応じてオプションのパラメーターを含めます。

python
analyzer_params = {
"type": "standard", # Specifies the standard analyzer type
}

standard analyzer は、次のオプションのパラメーターを受け付けます。

パラメーター説明
stop_wordsトークン化から削除されるストップワードのリストを含む配列です。

カスタムストップワードの設定例:

python
analyzer_params = {
"type": "standard", # Specifies the standard analyzer type
"stop_words", ["of"] # Optional: List of words to exclude from tokenization
}

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

例​

アナライザー設定をコレクションスキーマに適用する前に、run_analyzer メソッドを使って動作を確認してください。

アナライザーの設定​

python
analyzer_params = {
"type": "standard", # Standard analyzer configuration
"stop_words": ["for"] # Optional: Custom stop words parameter
}

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 standard analyzer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Standard analyzer output:", result)

期待される出力​

sql
Standard analyzer output: ['the', 'milvus', 'vector', 'database', 'is', 'built', 'scale']