使用es.search({size: 0, suggest: ...}
使用完成映射,可以使用非拉丁变音符号(重音字符,如â,ê等),自动完成工作正常。
我正在使用mongoosastic
创建映射。我需要能够使用类似asciifolding
的内容作为建议,或者在响应中添加其他字段。
我有这些领域:
name
这是带有变音符号的那个。nameSearch
这是name
latinized(没有变音符号/重音字符)。我需要的是继续完成name
的完成建议,但将a
视为与â
相同(反之亦然)。
在回复中我需要name
。不是nameSearch
。
答案 0 :(得分:0)
我再次偶然发现了这个问题,这次没有mongoosastic
。答案是在索引查询中包含settings
字段(在mongoosastic
中,您可以在使用自定义映射时添加它)。
settings: {
analysis: {
analyzer: {
folding: {
tokenizer: 'standard',
filter: ['lowercase', 'custom_asciifolding'],
},
},
filter: {
custom_asciifolding: {
type: 'asciifolding',
preserve_original: true,
},
},
},
}