メインコンテンツまでスキップ
バージョン: User Guides (BYOC)

Standard Analyzer

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

📘注意

standardアナライザーは、区切り文字(スペース、句読点など)に依存して単語境界を定める言語に適しています。一方、中国語、日本語、韓国語などのように辞書ベースのトークン化を必要とする言語では、chineseのような言語固有のアナライザーや、専門のトークナイザー(linderaicuなど)とフィルターを組み込んだカスタムアナライザーを使用することが、正確なトークン化とより良い検索結果を保証するために強く推奨されます。

定義

standardアナライザーは以下の要素で構成されています:

  • Tokenizer: standardトークナイザーを使用して、文法規則に基づいてテキストを離散的な単語単位に分割します。詳細については、Standard Tokenizerを参照してください。

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

standardアナライザーの機能は、以下のカスタムアナライザー構成と同等です:

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

構成

フィールドにstandardアナライザーを適用するには、analyzer_paramstypestandardに設定し、必要に応じてオプションパラメータを含めます。

analyzer_params = {
"type": "standard", # 標準アナライザーの種類を指定
}

standardアナライザーは以下のオプションパラメータを受け入れます:

パラメータ

説明

stop_words

トークン化から削除されるストップワードを含む配列。

カスタムストップワードの構成例:

analyzer_params = {
"type": "standard", # 標準アナライザーの種類を指定
"stop_words", ["of"] # オプション:トークン化から除外する単語のリスト
}

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

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

アナライザー構成

analyzer_params = {
"type": "standard", # Standard analyzer configuration
"stop_words": ["for"] # オプション:カスタムストップワードパラメータ
}

run_analyzerを使用した検証

from pymilvus import (
MilvusClient,
)

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

# 解析するサンプルテキスト
sample_text = "The Milvus vector database is built for scale!"

# 定義された構成でstandardアナライザーを実行
result = client.run_analyzer(sample_text, analyzer_params)
print("Standard analyzer output:", result)

期待される出力

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