Decimal Digit 필터 (Decimal Digit)
decimaldigit 필터는 Milvus 3.0.0 이상과 호환되는 내장 토큰 필터예요. 지원되는 문자 체계의 유니코드 십진 자릿수를 ASCII 숫자로 변환해줘요. 덕분에 언어와 문자 체계를 넘나들며 숫자 토큰이 일관되게 유지돼요.
출처: Milvus 문서
본문
구성 (Configuration)
아랍어 텍스트의 경우 내장 arabic analyzer에 이미 decimaldigit 필터가 포함되어 있어요. 사용자 지정 analyzer 파이프라인에서 숫자 정규화가 필요할 때는 decimaldigit을 직접 사용하면 돼요.
사용자 지정 analyzer에서 decimaldigit 필터를 사용하려면 analyzer_params의 filter 섹션에 추가해요:
analyzer_params = {
"tokenizer": "standard",
"filter": ["decimaldigit"],
}
decimaldigit 필터에는 설정 가능한 파라미터가 없어요.
이 필터는 아랍-인디언(Arabic-Indic), 태국어, 데바나가리(Devanagari), 벵골어, 전각(fullwidth) 숫자를 포함한 유니코드 십진 자릿수를 ASCII 숫자로 변환해요. 토크나이저가 만든 토큰에 대해 동작해요. 위 구성은 의도적으로 사용자 지정 analyzer 예시일 뿐이라 완전한 아랍어 처리 파이프라인을 포함하지는 않아요.
예시 (Examples)
analyzer 구성을 컬렉션 스키마에 적용하기 전에, run_analyzer 메서드로 동작을 먼저 확인해 보세요.
Analyzer 구성
analyzer_params = {
"tokenizer": "standard",
"filter": ["decimaldigit"],
}
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)
예상 출력
['Arabic', '123', 'Thai', '123', 'Devanagari', '123', 'Fullwidth', '123']
더 알아보기 (Learn more)
- arabic — 아랍어 처리 파이프라인에 이미 포함된 필터
- Standard Analyzer — 기본 analyzer와 토큰화 방식