データベース編 第10章 / 全13章
全文検索エンジンとは
Full-Text Search Engine
特化型 ・ 文章の中から探す本の巻末にある索引。「ねこ → 12ページ、48ページ」のように、言葉から場所を引ける。
図とさわれるデモで確かめる →
ポイント
- あらかじめ「言葉 → 出てくる文書」の索引を作っておく
- 何百万件の文書からでも、一瞬で言葉を探せる
- 表記ゆれ(ねこ/ネコ/猫)の吸収や、関連度の高い順の並べ替えも得意
名前の由来
full全部のtext文章search探す
文章の全部を対象に、言葉で探す仕組み。text はラテン語 textus(織られたもの)から。
仕事の現場では
社内文書の検索、ECサイトの商品検索、問い合わせ履歴の検索など。「Excelの検索では見つからない」を解決します。
くわしく(正確な話)
- 代表例はElasticsearch・OpenSearch。クラウドではAzure AI Search など。
- 言葉から文書を引く索引を転置インデックスという。
- 日本語は単語の区切りがないので、形態素解析で単語に分ける。
- DB本体とは別に置き、検索用にデータを複製して使うことが多い。
この章の用語(意味と語源)
- 全文検索エンジン Full-Text Search Engine
大量の文章から、言葉ですばやく探す仕組み。
語源full(全部の)+ text(文章)+ search(探す)。engine はラテン語 ingenium(才能・工夫)から。
- 転置インデックス Inverted Index
「言葉 → その言葉が出てくる文書」の一覧。
普通は「文書 → 中の言葉」ですが、それをひっくり返して持っておくので「転置(ひっくり返した)」インデックスと呼びます。
語源inverted(ひっくり返した)+ index(索引)。
- 形態素解析 Morphological Analysis
文章を、意味を持つ最小の単位(単語)に区切ること。
「ねこが好き」→「ねこ/が/好き」。日本語の検索には欠かせません。
語源形態素は morpheme の訳。ギリシャ語 morphē(形)から。
- Elasticsearch / OpenSearch 代表的な全文検索エンジン
代表的な全文検索エンジン。
OpenSearch は、Elasticsearch から分かれて作られたオープンソース版です。
語源elastic(伸び縮みする=規模に合わせて広げられる)+ search。