2

ユーザーが文字列を入力してデータベース内の名前を検索できる単純なアプリケーションがあります。サーバー側は ColdFusion 7 です。私が抱えている問題は、"obrien" などのクエリが "o'brien" という名前のエントリを返さないことです。

私が欲しいのはあいまい一致機能だと思います。いくつかの調査を行った後、私が探している可能性のある全文検索にも出くわしました。ただし、2つの違いについてはわかりません。ColdFusion には verity というサービスがありますが、最初にすべてのデータベースにクエリを実行してからインデックスを作成する必要があるようです。これは非常にコストがかかります。

最初にデータベース全体にクエリを実行せずに、ColdFusion であいまい一致または全文検索を行う組み込みの方法はありますか? そうでない場合、全文検索を行うときにインデックスを指定する必要がありますか? たとえば、オブライエンは「オブライエン、オブライエン、オブライエン」にインデックス付けする必要がありますか?

4

4 に答える 4

3

SOUNDEX機能を使ってみるのはどうですか?ここに簡単な答えはないと思います。

于 2013-04-09T22:43:55.803 に答える
2

以下のクエリを確認してください。

select * 
from tablename 
where  Replace(ColumnName,'''','') like 'obrien'

また

select * 
from tablename 
where  Replace(ColumnName,'''','') like '%obrien%'
于 2013-04-09T15:10:06.270 に答える
-2

ここで間違った道を進んでいます-必要なあいまい一致ではなく、パラメーター化されたクエリです。

パラメータの値を「O'Brien」に設定すると、パラメータは埋め込まれたアポストロフィの機能を認識します。

于 2013-04-09T15:20:00.487 に答える