태국어Compatible with Milvus 3.0.0+
thai 분석기는 태국어 텍스트를 위한 내장 분석기입니다. Milvus를 사용하여 태국어 텍스트를 단어로 분할하거나, 태국어 숫자를 정규화하거나, 혼합된 라틴 문자 텍스트를 소문자로 변환하거나, 태국어 스톱워드를 제거해야 할 때 이 분석기를 사용하십시오.
구성
내장 분석기는 Milvus에서 제공하는 분석기 템플릿입니다. 내장 분석기를 사용하려면 analyzer_params 에서 ` type `를 미리 정의된 분석기 이름으로 설정하십시오.
내장 태국어 분석기를 사용하려면 ` type `을 ` thai`로 설정하십시오:
analyzer_params = {
"type": "thai",
}
thai 분석기는 다음 선택적 매개변수를 지원합니다:
매개변수 |
유형 |
기본값 |
설명 |
|---|---|---|---|
|
|
|
토큰화 과정에서 제외할 추가 스톱워드 목록입니다. 기본적으로 |
사용자 정의 스톱워드를 추가하려면 stop_words 를 포함하십시오:
analyzer_params = {
"type": "thai",
"stop_words": ["มิลวัส"],
}
Milvus는 내장된 _thai_ 사전 외에도 사용자 정의 스톱워드를 적용합니다.
내장된 thai 분석기는 다음 사용자 정의 분석기 구성과 동일합니다:
analyzer_params = {
"tokenizer": "thai",
"filter": [
"lowercase",
"decimaldigit",
{
"type": "stop",
"stop_words": ["_thai_"],
},
],
}
이 분석기는 다음 처리 단계를 적용합니다:
- 토큰화:
thai토큰화기를 사용하여 공백에 의존하지 않고 태국어 텍스트를 단어 토큰으로 분할합니다. 토큰화기는 공백 및 구두점만으로 구성된 세그먼트를 걸러냅니다. - 대소문자 정규화:
lowercase필터를 사용하여, 태국어와 영어가 혼합된 텍스트에서 라틴 문자에 영향을 줍니다. - 숫자 정규화: ‘
decimaldigit’ 필터를 사용하여 태국어 숫자 및 기타 유니코드 십진수 숫자를 ASCII 숫자로 변환합니다. - 중지어 제거: 내장된
_thai_사전을 사용하여stop필터를 적용합니다. - 어근추출 없음: 내장된
thai분석기는stemmer필터를 적용하지 않습니다.
analyzer_params 를 정의한 후에는 컬렉션 스키마를 정의할 때 VARCHAR 필드에 이 분석기를 적용할 수 있습니다. 자세한 내용은 사용 예제를 참조하십시오.
예제
분석기 구성을 컬렉션 스키마에 적용하기 전에 ` run_analyzer ` 메서드를 사용하여 동작을 확인하십시오.
분석기 구성
analyzer_params = {
"type": "thai",
}
다음 방법을 사용한 검증 run_analyzer
from pymilvus import MilvusClient
client = MilvusClient(uri="http://localhost:19530")
sample_text = "ฉันรักการค้นหาข้อความใน Milvus ๑๒๓"
result = client.run_analyzer(sample_text, analyzer_params)
print(result)
예상 출력
['ฉัน', 'รัก', 'ค้นหา', 'ข้อความ', 'milvus', '123']