Elasticsearch mit NEST: Wie konfiguriere ich Analysatoren, um Teilwörter zu finden?
Ich versuche, nach Teilwörtern zu suchen, die Groß- und Kleinschreibung zu ignorieren und die Betonung einiger Buchstaben zu ignorieren. Ist es möglich? Ich denke, Ngram mit Standard-Tokenizer sollte den Trick tun, aber ich verstehe nicht, wie man es mit NEST macht.
Beispiel: "musiic" sollte mit Datensätzen mit "music" übereinstimmen
Die von mir verwendete Version von Elasticsearch ist 1.9.
Ich mache das, aber es funktioniert nicht ...
var ix = new IndexSettings();
ix.Add("analysis",
@"{
'index_analyzer' : {
'my_index_analyzer' : {
'type' : 'custom',
'tokenizer' : 'standard',
'filter' : ['lowercase', 'mynGram']
}
},
'search_analyzer' : {
'my_search_analyzer' : {
'type' : 'custom',
'tokenizer' : 'standard',
'filter' : ['standard', 'lowercase', 'mynGram']
}
},
'filter' : {
'mynGram' : {
'type' : 'nGram',
'min_gram' : 2,
'max_gram' : 50
}
}
}");
client.CreateIndex("sample", ix);
Vielen Dank,
David