アドレス フィールドにインデックスを付けるためのアナライザーを作成しようとしています。フィールドとクエリには、都市、国、通りの名前/番号、郵便番号の複数の組み合わせを含めることができます。大文字と小文字、語順は無視してください。また、さまざまな言語を処理する必要があります。"los angeles" を含むエントリがある場合、現在は "los" または "angeles" というクエリで返されます。「ロサンゼルス」ではありません。完全な用語でのみ一致を検索するため、トークン化されたキーワードを使用できません...では、どうすればよいですか? EDIT - これは PREFIX 検索用です。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
}
}