DezimalzifferCompatible with Milvus 3.0.0+

Der Filter „ decimaldigit “ ist ein integrierter Token-Filter, der Unicode-Dezimalziffern aus unterstützten Schriftsystemen in ASCII-Ziffern umwandelt. Dadurch werden numerische Token sprach- und schriftsystemübergreifend vereinheitlicht.

Konfiguration

Für arabischen Text enthält der integrierte arabic Analysator bereits den Filter „ decimaldigit “. Verwenden Sie „ decimaldigit “ direkt, wenn Sie eine Ziffernnormalisierung in einer benutzerdefinierten Analysator-Pipeline benötigen.

Um den Filter „ decimaldigit “ in einem benutzerdefinierten Analysator zu verwenden, fügen Sie ihn im Abschnitt „ filter “ unter „ analyzer_params “ hinzu:

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

Der Filter „ decimaldigit “ verfügt über keine konfigurierbaren Parameter.

Der Filter konvertiert Unicode-Dezimalziffern, einschließlich arabisch-indischer, thailändischer, Devanagari-, bengalischer und Vollbreiten-Ziffern, in ASCII-Ziffern. Er wird auf die vom Tokenizer generierten Token angewendet. Die obige Konfiguration ist bewusst als Beispiel für einen benutzerdefinierten Analysator gedacht und enthält nicht die vollständige Pipeline zur Verarbeitung arabischer Zeichen.

Beispiele

Bevor Sie die Analysator-Konfiguration auf Ihr Sammlungsschema anwenden, überprüfen Sie deren Verhalten mithilfe der Methode „ run_analyzer “.

Analysator-Konfiguration

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

Überprüfung mit run_analyzer

from pymilvus import MilvusClient

client = MilvusClient(uri="http://localhost:19530")

sample_text = "Arabic ١٢٣ Thai ๑๒๓ Devanagari १२३ Fullwidth 123"

result = client.run_analyzer(sample_text, analyzer_params)
print(result)

Erwartete Ausgabe

['Arabic', '123', 'Thai', '123', 'Devanagari', '123', 'Fullwidth', '123']

Übersetzt vonDeepL

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?