2015-07-14 12 views

Antwort

13

Ich denke, die documentation auf diese ziemlich klar ist:

Diese tokenizer zu Ngram sehr ähnlich ist, aber nur hält n-Gramm, die am Anfang eines Tokens starten.

Und das beste Beispiel für nGram tokenizer kommt wieder aus dem documentation:

curl 'localhost:9200/test/_analyze?pretty=1&analyzer=my_ngram_analyzer' -d 'FC Schalke 04' 


    # FC, Sc, Sch, ch, cha, ha, hal, al, alk, lk, lke, ke, 04 

Mit dieser tokenizer Definition:

    "type" : "nGram", 
        "min_gram" : "2", 
        "max_gram" : "3", 
        "token_chars": [ "letter", "digit" ] 

Kurz:

  • die tokenizer, abhängig von der Konfi guration, wird Token erstellen. In diesem Beispiel: FC, Schalke, 04.
  • nGram generiert Gruppen von Zeichen mindestens min_gram Größe und maximal max_gram Größe aus einem Eingabetext. Im Grunde sind die Token in kleine Stücke aufgeteilt und jedes Stück ist auf einem Charakter verankert (es spielt keine Rolle, wo dieses Zeichen ist, alle von ihnen werden Stücke erzeugen).
  • edgeNGram macht dasselbe, aber die Blöcke beginnen immer am Anfang jedes Tokens. Grundsätzlich sind die Chunks am Anfang der Token verankert.

Für den gleichen Text wie oben generiert ein edgeNGram dies: FC, Sc, Sch, Scha, Schal, 04. Jedes "Wort" im Text wird berücksichtigt und für jedes "Wort" ist das erste Zeichen der Startpunkt (F von FC, S von Schalke und 0 von 04).

+0

stefen..ich habe einige Änderungen an der Frage gemacht, bitte bedenken Sie, aktualisierte. – Karunakar

+0

Ich verstehe die aktualisierte Frage nicht. Was ist nicht klar? –

+0

Meine Erklärung steht sogar für 'Token-Filter'. –