正誤アルバイトトップ新着記事[アプリ]mediLinkの「検索力」を強くする(1)新着記事2019/9/20[アプリ]mediLinkの「検索力」を強くする(1)編集部のKです。電子版「イヤーノート」や「病気がみえる」などが読めるリーダーアプリ「mediLink」をご存知でしょうか。このmediLinkアプリの“検索機能”にフォーカスして、どのように検索機能の改修を進めているのか、2回に分けてお届けします。■アプリ3.1.0で検索エンジンを導入これまでのmediLinkは、「イヤーノート」「レビューブック」「病気がみえる」とコンテンツを増やすことに専念してきましたが、「病気がみえる」全巻のアプリ化が完了し、よりアプリを便利に使うための機能強化に力を注ぐことができるようになりました。その1つが検索機能の強化です。mediLinkアプリでは2019年7月にリリースしたver.3.1.0から、新たに検索エンジンを実装し、次のような検索を行えるようになりました。実際に使われた方は、これまでと変わったことにもう気づかれたかと思います。検索エンジンで何が変わったの?、という話の前に、これまでの検索機能はどのような仕組みだったのかを振り返ってみます。「検索ワードを正確に入力しないとヒットしてくれない」など、お叱りの声をよくいただいていました。そもそも検索エンジン導入前の検索は、書籍の索引に掲載された語句とページのみを収録した「索引検索」でした。「GBS(Guillain-Barre症候群)」が索引に収録されており、これらで検索すると、索引にある239、240、302、306、319ページを検索結果として表示します。これが「索引検索」です。ありますが、「アジア人」「男性」などの細かい語句までは登録されていません。全文検索にはほど遠い水準でした。いわゆる「ゆらぎ検索」に対応するため、索引検索でも同義語の組合せ情報を簡易的に持たせてはいました。索引検索用のデータが「イヤーノート」や「病気がみえる」などのコンテンツごとに作成されていたため、ある疾患名の定義が変わって新しい疾患名を登録したいとき、これまでリリースした過去のコンテンツに対しても個別にデータを修正して、配信し直さなければなりませんでした。索引検索はオフラインでも検索可能なことがメリットではあるのですが、コンテンツごとに検索用のデータを持っていることで、管理上の手間がかかることが問題点でした。アプリ内のコンテンツが増えれば増えるほど、検索が重くなることも問題でした。■検索エンジン導入1:全文検索が可能にこうした状況を打開して「全文検索ができるようにすること」と「同義語の登録をコンテンツ間で共有すること」を実現するため、検索エンジンを導入することになりました。これまでにも「全文検索を実装するのはそんなに難しいことなの?」という問合せをいただいたことがありますが、全文検索は全テキストを検索用のデータに投入しておく必要があるため、「QBオンライン」などのオンラインコンテンツでは比較的容易に実現可能なものの、「イヤーノート」などのダウンロードコンテンツでは取得すべきデータ量が大きくなったり、検索に時間がかかったりすることが懸念されました。そこで、検索のためのサーバーを立て、mediLinkアプリからの検索のリクエストをオンラインで受けつけ、その結果をmediLinkアプリに返すようにしたのが、今回導入した検索エンジンになります。これまでは、アジア人に多い疾患をまとめるために「アジア人」と検索しても、期待された検索結果は表示されませんでした。これは索引に「アジア人」という語句が載っていなかったためです。検索エンジンが導入された現在では、「アジア人」で検索すると、かなりの件数がヒットするようになりました。試していただければと思います。全文検索は端末がオンラインのときにしか使えません。オフラインのときは、従来通り索引検索のみの結果が表示されます。全文検索といっても、テキストを検索対象としているので、画像になっている部分の文字は検索することができません。「病気がみえる」のようにイラストの多いコンテンツでは、特に画像になっている部分が多く、細かい検索には対応できていない状況です。画像に含まれる語句も検索されるようにするには、画像の位置情報とテキストを検索エンジンに登録する必要があります。その実現方法も含めて、引き続き検討していきます。■検索エンジン導入2:ゆらぎ検索の強化(同義語辞書)ゆらぎ検索とは、検索したい語句をカタカナ(例:ギランバレー)で入力しても、ローマ字表記(例:Guillan-Barre)の箇所も一緒に検索される仕組みです。ゆらぎ検索を可能にするには、どの語句を同じ意味とするかを定める同義語辞書を作成する必要があります。検索エンジン導入前も、ある程度のゆらぎ検索には対応していましたが、ゆらぎ検索のための同義語辞書をコンテンツごと(病みえなら各巻ごと)に作成しなければならず、管理が煩雑でした。新しく発行された巻では引っかかるのに、古い巻では引っかからない同義語がある、という現象も実際に起こっていました。今回導入した検索エンジンでは、この同義語辞書を統一して検索エンジンに持たせることで、どのコンテンツのどの巻から検索しても、同じ水準で検索結果を返すことが可能になりました。同義語辞書の一例を見てみましょう。略語はすべての語句で登録している訳ではなく、例えば「Guillain-Barre症候群(GBS)」は「B群β溶血性レンサ球菌(GBS)」という同じ略語を持つ語句がありますので、この場合「GBS」は同義語に含んでいません。同義語辞書は2019年8月時点で4300件の組合せ、9680語句が登録されています。道半ばで、「この疾患名とこの疾患名が実は同じ意味だった」というのが拾いきれていません。みなさんが語句を調べるときに「この語句も引っかかってほしかったのに引っかからない」ということがなくなるように、同義語辞書の追加作業をこれからも続けていきます。次回はサジェスト機能についてお届けします。mediLinkアプリについてのご要望は下記問合せフォームからお寄せください。medicmedia_。