Milvus
Zilliz
Home
  • Benutzerhandbuch
  • Home
  • Docs
  • Benutzerhandbuch

  • Schema & Datenfelder

  • Analyzer

  • Tokenisierer

  • INTENSIVSTATION

ICUCompatible with Milvus 2.5.11+

Der icu Tokenizer basiert auf dem Open-Source-Projekt Internationalization Components of Unicode (ICU), das wichtige Werkzeuge für die Internationalisierung von Software bereitstellt. Durch die Verwendung des Worttrennungsalgorithmus von ICU kann der Tokenizer Text in den meisten Sprachen der Welt präzise in Wörter aufteilen.

Der icu Tokenizer behält Satzzeichen und Leerzeichen als separate Token in der Ausgabe bei. Zum Beispiel wird "Привет! Как дела?" zu ["Привет", "!", " ", "Как", " ", "дела", "?"]. Um diese eigenständigen Interpunktionszeichen zu entfernen, verwenden Sie den removepunct Filter.

Konfiguration

Um einen Analyzer zu konfigurieren, der den icu Tokenizer verwendet, setzen Sie tokenizer auf icu in analyzer_params.

analyzer_params = {
    "tokenizer": "icu",
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
// node
analyzerParams = map[string]any{"tokenizer": "icu"}
# curl

Der icu Tokenizer kann in Verbindung mit einem oder mehreren Filtern arbeiten. Der folgende Code definiert zum Beispiel einen Analyzer, der den icu Tokenizer und den Filter remove punct verwendet:

analyzer_params = {
    "tokenizer": "icu",
    "filter": ["removepunct"]
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
analyzerParams.put("filter", Collections.singletonList("removepunct"));
// node
analyzerParams = map[string]any{"tokenizer": "icu", "filter": []string{"removepunct"}}
# curl

Nachdem Sie analyzer_params definiert haben, können Sie sie auf ein VARCHAR Feld anwenden, wenn Sie ein Auflistungsschema definieren. Dadurch kann Milvus den Text in diesem Feld unter Verwendung des angegebenen Analysators für eine effiziente Tokenisierung und Filterung verarbeiten. Weitere Einzelheiten finden Sie unter Anwendungsbeispiele.

Beispiele

Bevor Sie die Analyzer-Konfiguration auf Ihr Sammelschema anwenden, überprüfen Sie das Verhalten mit der Methode run_analyzer.

Analyzer-Konfiguration

analyzer_params = {
    "tokenizer": "icu",
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "icu");
// node
analyzerParams = map[string]any{"tokenizer": "icu"}
# curl

Überprüfung mit run_analyzer

from pymilvus import (
    MilvusClient,
)

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

# Sample text to analyze
sample_text = "Привет! Как дела?"

# Run the standard analyzer with the defined configuration
result = client.run_analyzer(sample_text, analyzer_params)
print("Standard 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("Привет! Как дела?");

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{"Привет! Как дела?"}
option := milvusclient.NewRunAnalyzerOption(texts).
    WithAnalyzerParams(string(bs))

result, err := client.RunAnalyzer(ctx, option)
if err != nil {
    fmt.Println(err.Error())
    // handle error
}
# restful

Erwartete Ausgabe

['Привет', '!', ' ', 'Как', ' ', 'дела', '?']

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?