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']