全文検索エンジン FlexSearch

全文検索エンジン FlexSearchというものがあるようだ。


特徴は以下のとおり。

「FlexSearch」は、文字間をラバーバンドで連結して
伸縮させるように類似文字列を検出する、
Rubber Band Matching(RBM -ラバーバンドマッチング)
アルゴリズムを採用しています。 RBMアルゴリズムを採用することで、
表現の差違を吸収して検索対象を抽出できます。
例えば・・・

  • 部分文字列(文字の部分一致で検索)
    • 「高齢化問題」
    • 将来の「高齢化」社会において・・・
  • 文字の挿入(キーワードに文字を追加して検索)
    • 「ゴミリサイクル」
    • ゴミのリサイクル問題が・・・
  • 文字の欠落(キーワードから文字を削除して検索)
    • 「女子中高生」
    • 女子高生に人気の・・・
FlexSearch | 特徴

「決して漏らさず」房中術*1のような検索エンジンという印象。
このような検索にもニーズがあるということを学習。

違いを吸収した検索と、完全マッチングの検索が欲しい場合と両方あるなとか思う。

違いを吸収した検索 | 傀儡師の館.Python - 楽天ブログ

というのがユーザの正直な意見だと思う。


そいえば、
シーケンス中に挿入や削除がある場合のインデックス検索について、
以前お会いした山田智之さんが
「オレのアルゴリズムはすごいぜ!!!(超意訳)」とおっしゃっていた。

ま、まだ全然読んでませんすみません…

*1:房中術は「接して漏らさず」だけどね