形態素解析を行わず文字列一致検索を実現した。
マッピングは以下の様に設定
tokenizer: {
ngram_tokenizer: {
type: 'ngram',
min_gram: 1,
max_gram: 2,
token_chars: ['letter', 'digit', 'punctuation', 'symbol'],
},
},
データ取得は、match_phraseを使用して取得する
{
match_phrase: {
[`${path}`]: {
query: value,
},
},
},
math_phraseを使用せずmatchなどを利用した場合、意図しない値がヒットしてしまう。
例えば、「東京都新宿区」がインデックスされている状態で、
「新京」を検索すると、ヒットしてしまう。