検索結果を、さらに階層構造を基にあれこれしようとすると大変そう。
「前景と後景を2回まで辿れば、類義語で検索できるぞ」とか、「文章の類似度を前景から継承して合算すれば、前景が多く付けられている輪郭を優先して出せる上に、類似度のバラツキを補完できるぞ」とか、「非表示の前景を自動生成すれば全文検索ができるぞ」とかやったら、検索の処理に5〜6秒とめっちゃ時間かかるようになりましたね……。
その代わりに検索の精度はめちゃくちゃ良いです。
検索結果を、さらに階層構造を基にあれこれしようとすると大変そう。
「前景と後景を2回まで辿れば、類義語で検索できるぞ」とか、「文章の類似度を前景から継承して合算すれば、前景が多く付けられている輪郭を優先して出せる上に、類似度のバラツキを補完できるぞ」とか、「非表示の前景を自動生成すれば全文検索ができるぞ」とかやったら、検索の処理に5〜6秒とめっちゃ時間かかるようになりましたね……。
その代わりに検索の精度はめちゃくちゃ良いです。
UI変わって大変だけど、検索結果はこれまで通りのアルゴリズムで表示して、前景等を基にした方はレコメンドっぽいUIにしてしまうとか。
レコメンドなら5秒以上かかっても問題にならない気がする。
輪郭法には構造を説明する機能はないから、発見的な方法で類義語検索をする必要はあるけど、自分のための輪郭法実装であれば「類義語は『類義語』という名前の輪郭に引き入れて管理する」と決められるので、事実上、構造を説明できるんか。
いや、改めて文章化してみると、この検索にかかる時間が5〜6秒で済んでるのが異常に早いぐらいなことをしているな。
あと、この前景と後景を辿るという処理は、DynamoDBと相性が悪い。RDBのJOINを使ったほうが速い予感がする。
サイドバーをレコメンドにしよっかなーみたいな案はあります。案だけあります。
検索は、表題の完全一致を先に出して、遅れて前景後景をたどった検索結果が出るみたいな改善を考えてます。
「もっと」ボタンを押したら前景後景をたどって検索するようにしました。