Nur alphanumerische Begriffe
Der Filter alphanumonly entfernt Token, die Nicht-ASCII-Zeichen enthalten, und behält nur alphanumerische Begriffe bei. Dieser Filter ist nützlich für die Verarbeitung von Text, bei dem nur einfache Buchstaben und Zahlen relevant sind und keine Sonderzeichen oder Symbole enthalten sind.
Konfiguration
Der Filter alphanumonly ist in Milvus integriert. Um ihn zu verwenden, geben Sie einfach seinen Namen im Abschnitt filter innerhalb von analyzer_params an.
analyzer_params = {
"tokenizer": "standard",
"filter": ["alphanumonly"],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "standard");
analyzerParams.put("filter", Collections.singletonList("alphanumonly"));
const analyzer_params = {
"tokenizer": "standard",
"filter": ["alphanumonly"],
};
analyzerParams = map[string]any{"tokenizer": "standard", "filter": []any{"alphanumonly"}}
# restful
analyzerParams='{
"tokenizer": "standard",
"filter": [
"alphanumonly"
]
}'
Der alphanumonly -Filter arbeitet mit den vom Tokenizer erzeugten Begriffen, so dass er in Kombination mit einem Tokenizer verwendet werden muss. Eine Liste der in Milvus verfügbaren Tokenizer finden Sie unter Standard Tokenizer und den zugehörigen Seiten.
Nachdem Sie analyzer_params definiert haben, können Sie sie auf ein VARCHAR Feld anwenden, wenn Sie ein Sammelschema definieren. Dies ermöglicht es Milvus, den Text in diesem Feld mit dem angegebenen Analyzer für eine effiziente Tokenisierung und Filterung zu verarbeiten. Einzelheiten finden Sie unter Beispielanwendung.
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": "standard",
"filter": ["alphanumonly"],
}
Map<String, Object> analyzerParams = new HashMap<>();
analyzerParams.put("tokenizer", "standard");
analyzerParams.put("filter", Collections.singletonList("alphanumonly"));
// javascript
analyzerParams = map[string]any{"tokenizer": "standard", "filter": []any{"alphanumonly"}}
# restful
Überprüfung mit run_analyzerCompatible with Milvus 2.5.11+
from pymilvus import (
MilvusClient,
)
client = MilvusClient(uri="http://localhost:19530")
# Sample text to analyze
sample_text = "Milvus 2.0 @ Scale! #AI #Vector_Databasé"
# 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("Milvus 2.0 @ Scale! #AI #Vector_Databasé");
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 2.0 @ Scale! #AI #Vector_Databasé"}
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
['Milvus', '2', '0', 'Scale', 'AI', 'Vector']