ThaiCompatible with Milvus 3.0.0+

Der Analysator „ thai “ ist ein integrierter Analysator für thailändischen Text. Verwenden Sie diesen Analysator, wenn Milvus thailändischen Text in Wörter segmentieren, thailändische Ziffern normalisieren, gemischten lateinischen Text in Kleinbuchstaben umwandeln und thailändische Stoppwörter entfernen soll.

Konfiguration

Integrierte Analysatoren sind von Milvus bereitgestellte Analysatorvorlagen. Um einen integrierten Analysator zu verwenden, setzen Sie „ type “ auf einen vordefinierten Analysatornamen unter „ analyzer_params “.

Um den integrierten thailändischen Analysator zu verwenden, setzen Sie „ type “ auf „ thai “:

analyzer_params = {
    "type": "thai",
}

Der Analysator „ thai “ akzeptiert den folgenden optionalen Parameter:

Parameter

Typ

Standard

Beschreibung

stop_words

list[str]

_thai_

Eine Liste zusätzlicher Stoppwörter, die bei der Tokenisierung entfernt werden sollen. Standardmäßig verwendet der „ thai “-Analysator das integrierte Wörterbuch „ _thai_ “. Informationen zum Standardwörterbuch finden Sie in der Milvus -Liste der thailändischen Stoppwörter. Die Liste stammt aus der Apache Lucene -Datei mit thailändischen Stoppwörtern.

Um benutzerdefinierte Stoppwörter hinzuzufügen, fügen Sie „ stop_words “ ein:

analyzer_params = {
    "type": "thai",
    "stop_words": ["มิลวัส"],
}

Milvus wendet zusätzlich zum integrierten „ _thai_ “-Wörterbuch benutzerdefinierte Stoppwörter an.

Der integrierte „ thai “-Analysator entspricht der folgenden Konfiguration für einen benutzerdefinierten Analysator:

analyzer_params = {
    "tokenizer": "thai",
    "filter": [
        "lowercase",
        "decimaldigit",
        {
            "type": "stop",
            "stop_words": ["_thai_"],
        },
    ],
}

Dieser Analysator wendet die folgenden Verarbeitungsschritte an:

  • Tokenisierung: Verwendet den thai Tokenizer, um thailändischen Text in Wort-Token zu segmentieren, ohne sich auf Leerzeichen zu stützen. Der Tokenizer filtert Segmente heraus, die ausschließlich aus Leerzeichen und Satzzeichen bestehen.
  • Groß-/Kleinschreibungsnormalisierung: Verwendet den Filter „ lowercase “, der lateinische Buchstaben in gemischtem thailändisch-englischem Text beeinflusst.
  • Ziffernnormalisierung: Verwendet den Filter „ decimaldigit “, um thailändische Ziffern und andere Unicode-Dezimalziffern in ASCII-Ziffern umzuwandeln.
  • Entfernung von Stoppwörtern: Verwendet den Filter „ stop “ mit dem integrierten Wörterbuch „ _thai_ “.
  • Kein Stemming: Der integrierte „ thai “-Analysator wendet keinen „ stemmer “-Filter an.

Nachdem Sie „ analyzer_params “ definiert haben, können Sie den Analysator bei der Definition eines Sammlungsschemas auf ein „ VARCHAR “-Feld anwenden. Weitere Informationen finden Sie unter „Anwendungsbeispiel“.

Beispiele

Bevor Sie die Analysator-Konfiguration auf Ihr Sammlungsschema anwenden, überprüfen Sie deren Verhalten mithilfe der Methode „ run_analyzer “.

Analysator-Konfiguration

analyzer_params = {
    "type": "thai",
}

Überprüfung mit 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)

Erwartete Ausgabe

['ฉัน', 'รัก', 'ค้นหา', 'ข้อความ', 'milvus', '123']

Übersetzt vonDeepL

Verwaltetes Milvus kostenlos testen

Zilliz Cloud ist unkompliziert, basiert auf Milvus und ist 10-mal schneller.

Loslegen
Feedback

War diese Seite hilfreich?