1. 英語検索と日本語検索の根本的違い
英語はスペースで単語が分かれていますが、日本語は「形態素解析」を行って単語(トークン)に分解しなければ正確な全文検索ができません。「すもももももももものうち」を正しく形態素に分けるのがKuromojiアナライザーです。
2. カスタムアナライザーの定義
PUT /japan_products
{
"settings": {
"analysis": {
"analyzer": {
"cute_japanese_analyzer": {
"type": "custom",
"tokenizer": "kuromoji_tokenizer",
"filter": [
"kuromoji_baseform",
"kuromoji_part_of_speech",
"cjk_width",
"ja_stop",
"kuromoji_stemmer",
"lowercase"
]
}
}
}
}
}
3. 表記揺れ(シノニム・同義語)の吸収
「ラーメン」「らーめん」「拉麺」や「パソコン」「PC」といった同義語辞書を定義することで、ユーザーがどの表記で検索しても100%ヒットする検索UXを構築します。