はじめに 前に類似本検索システムを作成したのですが、その中で数万ある本の候補の中から探したい本の検索する部分があります。 そのときは入力された単語に対し検索を全書籍に対して行う、という最も単純な手法を実装したのですが、 もう少しいいやり方がないかなーといくつか資料を読んで改善を実施したのでその過程を記述します。 参考資料 図書館情報学オタクと学ぶ 検索エンジニア入門 検索技術勉強会の資料 Whoosh公式 Sudachi公式 現状の問題点 複数のワードを入力することができず、OR検索やNOT検索もできない 登録されている書籍を全検索しているので、件数が増えた場合に検索時間が線形に増える。 検索が一致した後のリストの返し方に何も優先順位をつけていない 解決方法 pythonで利用できる全文検索パッケージのwhooshを使います。商用ではサーバ機能を併せ持つElasticsearch等が使われ
