Was ist der empfohlene Analysator / Filter für menschliche Namen in der elastischen Suche?

8

Ich frage mich, ob es Empfehlungen für die Verwendung von Analysatoren / Filtern zum Indexieren / Suchen nach menschlichen Namen gibt.

Beispiele für Namen, die Schwierigkeiten bereiten könnten:

  • Marc gegen Mark
  • Peter de Langhe gegen Peter dellange
  • Verhaeven versus Verhaven
  • François gegen Francois

thx Marc

    
cyclomarc 14.04.2014, 18:56
quelle

1 Antwort

3

Hier sind ein Analysator und ein Filter, um loszulegen. Es ist schwer, alle Fälle abzudecken, aber ein asciifolding Filter löst Ihre Probleme mit dem Fall François versus Francois .

Im folgenden Beispiel wird das Original beibehalten, sodass eine Abfrage für François und Francois zur gleichen Ergebnismenge aufgelöst wird.

%Vor%

Quelle

Wenn Sie einen Synonymfilter definieren, können Sie eine Liste mit häufig ähnlichen Namen in Ihrer Sprache definieren (möglicherweise eine Zeile wie François => Francois in Ihrer Synonymdatei), die auf kurze Sicht den gewünschten Effekt hat.

Schließlich kann ein pattern_replace char Filter mit einem "([A-Za-z]+)ae([A-Za-z]+)" => "a" Muster alle Verhaeven in Verhaven

verwandeln

Etwas wie ...

%Vor%

Sogar Peter de Langhe gegen Peter delange kann mit einem pattern_replace char-Filter gelöst werden:

%Vor%     
danyim 29.07.2014, 14:51
quelle

Tags und Links