私は数百または数千の文字列を格納するSQLiteデータベースを使用しています。しかし、ユーザーは検索文字列で検索することができ、私は検索文字列との親密性のためにデータベース内の文字列をランク付けします。たとえば、「foo」を検索するとします。私のデータベースに "foo" "foobar"と "foo foo"というエントリがある場合、誰でも次の文字列を順番に並べるアルゴリズムのアイディアはありますか?リニア時間での検索文字列に基づくランキング文字列
1. "foo" )
2.「FOO fooの」(それが二回検索文字列が含まれています)
3.「foobarには、」(それが一度検索文字列が含まれています)
誰のための任意のアイデアを知っているか持っていますこの結果を持つアルゴリズムですか?誰かがコードスニペットを投稿したいのであれば、私はJavaとC++の両方で作業していますが、実際にはアルゴリズムのアイデアを探しています。それは1通の手紙オフ検索からであるので、あなたは順位が線形時間でなりたいと言うとき
注、私は、私も、検索結果に表示する
ます。http:// norvig。 com/spell-correct.htmlは興味深いかもしれませんが、get-goとはまったく異なる概念を使用しています。 –
また興味があります:http://stackoverflow.com/questions/7805897/simple-spell-checking-algorithm/7808099#comment9559839_7808099 2 days ago from many algorithms –