我正在尝试编写一个分析器来索引地址字段。该字段和查询可以包含城市、国家/地区、街道名称/编号、邮政编码的多种组合。字母大小写和词序应该被忽略。我还需要处理不同的语言。如果我有一个包含“los angeles”的条目 - 目前我通过查询“los”或“angeles”将其取回。但不是“洛杉矶”。我不能使用标记化的关键字,因为那只会搜索整个术语的匹配项......那么我应该怎么做呢?编辑 - 这是用于前缀搜索。EDIT2 - 当我使用标准标记器时 - 搜索适用于“los”,“los angeles”,“angeles”,“angeles los” - 但不适用于“lo”......我也需要前缀搜索。如果我使用“
谢谢。
analysis: {
analyzer: {
phone_analyzer: {
type: "custom",
tokenizer: "keyword",
filter: [
"word_delimiter_for_phone"
]
}
address_analyzer: {
type: "custom",
tokenizer: "standard",
filter: ["trim", "lowercase",'asciifolding']
}
},
filter: {
word_delimiter_for_phone: {
type: "word_delimiter",
catenate_numbers: true,
preserve_original: true
}
}