Ich bin in Unterstützung von Faltung von Nicht-Standard-ASCII-Zeichen wie this guide schlägt vor.Korrekt falten ASCII-Zeichen in Elasticsearch
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"folding": {
"tokenizer": "standard",
"filter": [ "lowercase", "asciifolding" ]
}
}
}
}
}
Seltsamerweise kann ich das Beispiel im ersten Codefragment nicht replizieren.
Wenn ich ausführen
GET /my_index/_analyze?analyzer=folding&text=My œsophagus caused a débâcle
die folgenden Token zurückgegeben:
sophagus, caused, a, d, b, cle
Was will ich erreichen ist:
Variationen der Schreibweise von Wörtern wie "école" (zB Ecole, ècole) sollte als das gleiche Wort behandelt werden.
Gerade jetzt, wenn ich
GET /my_index/_analyze?analyzer=folding&text=école ecole
ausführen bekomme ich die Token cole, ecole
Dies sind die Einstellungen, die ich zur Zeit für die Textanalyse der Dokumente verwenden
"analysis": {
"filter": {
"french_stop": {
"type": "stop",
"stopwords": "_french_"
},
"french_elision": {
"type": "elision",
"articles": [
"l",
"m",
"t",
"qu",
"n",
"s",
"j",
"d",
"c",
"jusqu",
"quoiqu",
"lorsqu",
"puisqu"
]
},
"french_stemmer": {
"type": "stemmer",
"language": "light_french"
}
},
"analyzer": {
"index_French": {
"filter": [
"french_elision",
"lowercase",
"french_stop",
"french_stemmer"
],
"char_filter": [
"html_strip"
],
"type": "custom",
"tokenizer": "standard"
},
"sort_analyzer": {
"type": "custom",
"filter": [
"lowercase"
],
"tokenizer": "keyword"
}
}
}
Meine Idee war, um die Filter des index_French-Analysators so zu ändern, dass die Liste die folgende ist:
"filter": ["french_elision","lowercase","asciifolding","french_stop","french_stemmer"]
Danke für Ihre Hilfe.
Sie deutlich den 'asciifolding' Token Filter verwenden, müssen erhalten werden, versuchen Sie es raus und du wirst sehen. – Val
Wenn Sie sich auf den größeren Analysator beziehen, sind Sie richtig. aber ich kann die richtige Faltung nicht mit der kleinen Probe aus der Dokumentationsseite erreichen, die ich verlinkt habe. – Kralizek
Ich habe es gerade versucht und es funktioniert gut. Können Sie das stattdessen versuchen? 'curl -XGET 'localhost: 9200/mein_index/_analysieren? analysator = falten & hübsches' -d 'Mein ossophagus verursachte ein debak'' – Val