概要
2019年現在、CloudSearchではデフォルトのストップワードに長音記号が入っていないので、検索結果で今一つしっくりこないときはStopWordに長音記号「ー」を登録しておくと良いでしょう。
背景
サイト内の検索で「ハニー」を検索するとレシピ名としてハニーとは関係のないタイトルが検索結果として出ていました。
- リースミートローフ・とろーりチーズフォンデュ風
- マヨなしヘルシーおいしー しらすと大葉のマカロニサラダ
- やみつきー 蓮根と鶏ひき肉のガーリックのり塩ペッパー炒め
- とろちーずクリームのふわふわオムレット【簡単・HM使用】
- サクッじゅわー 旨味たっぷり 鶏胸肉の海苔チーフライ
CloudSearchに登録する際、タイトル名の文字列以外に、類義語である「蜂蜜」なども一緒に登録しているので、何らか「ハニー」や「蜂蜜」が前面に出てきている料理名であることを期待しているのですが、あまりにもかけ離れている、という状況がありました。
調査
AWSコンソールのCloudSearchではテストサーチが出来るので、検索用のサーチドメイン「my-test-domain」の検索窓に下記を打ち込みます。(OptionはStructuredを選択しています。)
(and title:'ハニー' source_disp_name:'レシピ' status:1)
Goボタンを押すと、下記のような感じの結果が出てきます。
※これはストップワードを調整済みのものです。
画像だと見づらいのですが、検索ヒットした文字が太字で表示されます。(この場合は「ハニー」が太字になっています。)
ストップワード調整前のタイトルを簡略化して抜き出すと下記のような感じ、でした。
項目 | |
---|---|
title | リースミートローフ・とろーりチーズフォンデュ風 |
title | マヨなしヘルシーおいしー しらすと大葉のマカロニサラダ |
title | やみつきー 蓮根と鶏ひき肉のガーリックのり塩ペッパー炒め |
title | とろちーずクリームのふわふわオムレット【簡単・HM使用】 |
title | サクッじゅわー 旨味たっぷり 鶏胸肉の海苔チーフライ |
チューニング前の状態では、「ー」が太字になっていました。
ということは、CloudSearchの中のIndexで「ー」で検索ヒットするリストが出来上がっているため、「ー」での検索結果が表示されているのではないかと思うのです。(詳しい動作はブラックボックスでよく分かりませんが)
形態素解析で長音記号「ー」を一つの文字として分離させないような設定があれば・・・・と思ったのですがCloudSearchには分離させないような・・・設定はありません。代わりにこれを防ごうとするのが「ストップワード」の登録となります。
変更の実施
から、CloudSearchドメインに適用中の形態素解析名をクリックすると、ストップワードのタブが開かれたモーダルがでてきます。AddStopword のところに1つづつ適用しても用意ですし、CurrentStopwordsに直接書きこんでもよいでしょう。
画面では「ー」の他に今一つ検索結果として良くなかったものも登録しています。助詞はあらかじめStopwordに登録されているような記述をどこかで見かけましたが
Updateボタンを押すとストップワードの登録は完了です。
「Run Indexing」ボタンが出てくるので、インデックスを再構築します。
参考
Amazon CloudSearch のテキスト分析スキームの設定
https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/configuring-analysis-schemes.html
デフォルトのストップワードディクショナリ
https://docs.aws.amazon.com/ja_jp/cloudsearch/latest/developerguide/text-processing.html#japanese
2019年12月現在、ストップワードは下記の通りでした。
の に は を た が で て と し れ さ ある いる も する から な こと として い や れる など なっ ない この ため その あっ よう また もの という あり まで られ なる へ か だ これ によって により おり より による ず なり られる において ば なかっ なく しかし について せ だっ その後 できる それ う ので なお のみ でき き つ における および いう さらに でも ら たり その他 に関する たち ます ん なら に対して 特に せる 及び これら とき では にて ほか ながら うち そして とともに ただし かつて それぞれ または お ほど ものの に対する ほとんど と共に といった です とも ところ ここ