Cncharonly
Filter cncharonly menghapus token yang mengandung karakter non-Cina. Filter ini berguna ketika Anda hanya ingin fokus pada teks bahasa Mandarin, menyaring token apa pun yang mengandung aksara, angka, atau simbol lain.
Konfigurasi
Filter cncharonly sudah ada di dalam Milvus. Untuk menggunakannya, cukup tentukan namanya di bagian filter di dalam analyzer_params.
analyzer_params = {
"tokenizer": "jieba",
"filter": ["cncharonly"],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "jieba");
analyzerParams.put("filter", Collections.singletonList("cncharonly"));
const analyzer_params = {
"tokenizer": "jieba",
"filter": ["cncharonly"],
};
analyzerParams = map[string]any{"tokenizer": "jieba", "filter": []any{"cncharonly"}}
# restful
analyzerParams='{
"tokenizer": "jieba",
"filter": [
"cncharonly"
]
}'
Filter cncharonly beroperasi berdasarkan ketentuan yang dihasilkan oleh tokenizer, jadi filter ini harus digunakan bersama dengan tokenizer. Untuk daftar tokenizer yang tersedia di Milvus, lihat halaman Jieba dan halaman saudaranya.
Setelah mendefinisikan analyzer_params, Anda dapat menerapkannya ke bidang VARCHAR ketika mendefinisikan skema koleksi. Hal ini memungkinkan Milvus untuk memproses teks dalam bidang tersebut menggunakan penganalisis yang ditentukan untuk tokenisasi dan pemfilteran yang efisien. Untuk detailnya, lihat Contoh penggunaan.
Contoh
Sebelum menerapkan konfigurasi penganalisis ke skema koleksi Anda, verifikasi perilakunya menggunakan metode run_analyzer.
Konfigurasi penganalisis
analyzer_params = {
"tokenizer": "jieba",
"filter": ["cncharonly"],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "jieba");
analyzerParams.put("filter", Collections.singletonList("cncharonly"));
// javascript
analyzerParams = map[string]any{"tokenizer": "jieba", "filter": []any{"cncharonly"}}
# restful
Verifikasi menggunakan run_analyzerCompatible with Milvus 2.5.11+
from pymilvus import (
MilvusClient,
)
client = MilvusClient(uri="http://localhost:19530")
# Sample text to analyze
sample_text = "Milvus 是 LF AI & Data Foundation 下的一个开源项目,以 Apache 2.0 许可发布。"
# Run the jieba tokenizer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Analyzer output:", result)
import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.vector.request.RunAnalyzerReq;
import io.milvus.v2.service.vector.response.RunAnalyzerResp;
ConnectConfig config = ConnectConfig.builder()
.uri("http://localhost:19530")
.build();
MilvusClientV2 client = new MilvusClientV2(config);
List<String> texts = new ArrayList<>();
texts.add("Milvus 是 LF AI & Data Foundation 下的一个开源项目,以 Apache 2.0 许可发布。");
RunAnalyzerResp resp = client.runAnalyzer(RunAnalyzerReq.builder()
.texts(texts)
.analyzerParams(analyzerParams)
.build());
List<RunAnalyzerResp.AnalyzerResult> results = resp.getResults();
// javascript
import (
"context"
"encoding/json"
"fmt"
"github.com/milvus-io/milvus/client/v2/milvusclient"
)
client, err := milvusclient.New(ctx, &milvusclient.ClientConfig{
Address: "localhost:19530",
APIKey: "root:Milvus",
})
if err != nil {
fmt.Println(err.Error())
// handle error
}
bs, _ := json.Marshal(analyzerParams)
texts := []string{"Milvus 是 LF AI & Data Foundation 下的一个开源项目,以 Apache 2.0 许可发布。"}
option := milvusclient.NewRunAnalyzerOption(texts).
WithAnalyzerParams(string(bs))
result, err := client.RunAnalyzer(ctx, option)
if err != nil {
fmt.Println(err.Error())
// handle error
}
# restful
Keluaran yang diharapkan
['是', '下的一个开源项目', '以', '许可发布']