全文検索エンジン FlexSearch
全文検索エンジン FlexSearchというものがあるようだ。
特徴は以下のとおり。
「FlexSearch」は、文字間をラバーバンドで連結して
伸縮させるように類似文字列を検出する、
Rubber Band Matching(RBM -ラバーバンドマッチング)
アルゴリズムを採用しています。 RBMアルゴリズムを採用することで、
表現の差違を吸収して検索対象を抽出できます。
例えば・・・
- 部分文字列(文字の部分一致で検索)
- 「高齢化問題」
- 将来の「高齢化」社会において・・・
- 文字の挿入(キーワードに文字を追加して検索)
- 「ゴミリサイクル」
- ゴミのリサイクル問題が・・・
FlexSearch | 特徴
- 文字の欠落(キーワードから文字を削除して検索)
- 「女子中高生」
- 女子高生に人気の・・・
「決して漏らさず」房中術*1のような検索エンジンという印象。
このような検索にもニーズがあるということを学習。
違いを吸収した検索と、完全マッチングの検索が欲しい場合と両方あるなとか思う。
違いを吸収した検索 | 傀儡師の館.Python - 楽天ブログ
というのがユーザの正直な意見だと思う。
そいえば、
シーケンス中に挿入や削除がある場合のインデックス検索について、
以前お会いした山田智之さんが
「オレのアルゴリズムはすごいぜ!!!(超意訳)」とおっしゃっていた。
ま、まだ全然読んでませんすみません…
*1:房中術は「接して漏らさず」だけどね