在我们的服务中,我们正试图移植" nysiis"的定制。 Elasticsearch的语音算法。
我们的算法执行此名称转换:
给出一个" Surnames"和#34; Firstnames",例如" [Smith]"和 " [约翰]",采取" nysiis"第一个姓氏上的拼音编码器, 并将它连接到第一个的小写第一个首字母 姓名。
因此:
nysiis(Surnames[0]) + lower(Firstnames[0][0])
所以" John Smith"的结果将是" SNATHj"
我知道ES支持nyyis令牌过滤器https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-phonetic-token-filter.html
但我想知道实现自动执行上述转换的自定义分析器的最佳方法是什么。
注意:我想,如果需要,我们已经可以为ES提供一个简单的结构:
{"surname": "Smith", "initial_first_name": "j"}