Alphanumonly
Le filtre alphanumonly supprime les termes qui contiennent des caractères non ASCII, en ne conservant que les termes alphanumériques. Ce filtre est utile pour traiter des textes ne contenant que des lettres et des chiffres de base, à l'exclusion de tout caractère ou symbole spécial.
Configuration
Le filtre alphanumonly est intégré à Milvus. Pour l'utiliser, il suffit de spécifier son nom dans la section filter de analyzer_params.
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"
]
}'
Le filtre alphanumonly fonctionne sur les termes générés par le tokenizer, il doit donc être utilisé en combinaison avec un tokenizer. Pour obtenir la liste des tokenizers disponibles dans Milvus, reportez-vous à Standard Tokenizer et à ses pages apparentées.
Après avoir défini analyzer_params, vous pouvez les appliquer à un champ VARCHAR lors de la définition d'un schéma de collection. Cela permet à Milvus de traiter le texte de ce champ à l'aide de l'analyseur spécifié pour une tokenisation et un filtrage efficaces. Pour plus de détails, voir Exemple d'utilisation.
Exemples
Avant d'appliquer la configuration de l'analyseur à votre schéma de collecte, vérifiez son comportement à l'aide de la méthode run_analyzer.
Configuration de l'analyseur
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
Vérification à l'aide de 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
Résultat attendu
['Milvus', '2', '0', 'Scale', 'AI', 'Vector']