SQL Serverデータベースに2つのフィールドを持つテーブルがあり、asp.netアプリケーションで '@ SearchString'パラメータを持つストアドプロシージャが呼び出され、ストアドプロシージャはシンプルなテキスト一致ストアドプロシージャで使用するためのアログリム
CREATE PROCEDURE [dbo].[sp_FindMatches] @SearchString varchar(30)
AS
SELECT * FROM Table1 WHERE Field1+Field2 LIKE @SearchString
:「フィールド1」と「フィールド2」が
値がテーブルに2つのフィールドの連結で発見され、それらを呼び出す@Searchstringので、ロジックは、この(私は実際のクエリを簡素化している)ように見えますこの基本的なマッチングアルゴリズムを改良して、マッチするレコードにそれほど制限がないようにしたいと思います。例えば、ユーザーが "DOG HOUSE"をパラメータとして入力すると、既存のSPのかなり基本的なロジックは、正確な文字列を見つけるレコードを返します。文字列がちょうど隣り合っていなくても、 "犬"と "家"だけでレコードを返すようにしたいと思います。
「ベストマッチ」の観点からレコードをランク付けする方法があった場合でも、「DOG HOUSE」が完全一致であると判断された場合、「DOG」と「HOUSE」が一致する場合、犬」場合ではなく、第三の家」や 『家』ではなく 『犬』、第二ベストマッチ、発見された最良など
私が欲しいものの多くを行い、一般的なアルゴリズムはありますか?