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

英語

Zilliz Cloud の english analyzer は、英語テキストを処理するように設計されており、トークン化とフィルタリングに言語固有のルールを適用します。

定義

english analyzer は次のコンポーネントを使用します。

  • Tokenizer: standard tokenizer を使用して、テキストを個別の単語単位に分割します。

  • Filters: 包括的なテキスト処理のために複数のフィルターが含まれています。

    • lowercase: すべてのトークンを小文字に変換し、大文字と小文字を区別しない検索を可能にします。

    • stemmer: より広範なマッチングをサポートするために、単語を語幹に縮約します(例: "running" は "run" になります)。

    • stop_words: テキスト内の重要な語に集中するために、一般的な英語のストップワードを削除します。

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

python
analyzer_params = {
"tokenizer": "standard",
"filter": [
"lowercase",
{
"type": "stemmer",
"language": "english"
}, {
"type": "stop",
"stop_words": "_english_"
}
]
}

設定

english analyzer をフィールドに適用するには、analyzer_paramstypeenglish に設定し、必要に応じて任意のパラメーターを含めるだけです。

python
analyzer_params = {
"type": "english",
}

english analyzer は次の任意パラメーターを受け付けます。

パラメーター説明
stop_wordsストップワードのリストを含む配列で、トークン化から削除されます。デフォルトは _english_ で、一般的な英語ストップワードの組み込みセットです。

カスタムストップワードを使用した設定例:

python
analyzer_params = {
"type": "english",
"stop_words": ["a", "an", "the"]
}

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

analyzer 設定を collection スキーマに適用する前に、run_analyzer メソッドを使用してその動作を検証します。

Analyzer 設定

python
analyzer_params = {
"type": "english",
"stop_words": ["a", "an", "the"]
}

run_analyzer を使用した検証

python
from pymilvus import (
MilvusClient,
)

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

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

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

期待される出力

python
English analyzer output: ['milvus', 'vector', 'databas', 'built', 'scale']
Ctrl I