0

表: ユーザー

...|Name                  |...|..
__________________________________
...|george walker          |...|..
...|...                   |...|..

次に、次の入力に対して上記のレコードを取得するクエリを作成します george george walker george walker bush

つまり、検索文字列内の単語の半分以上が一致する必要がありますが、一致する単語はありません

これに対するクエリを作成するにはどうすればよいですか?

Full Text Search注:このテーブルには数百万のレコードがあるため、機能を使用したいと思います。で
使用できるかどうかは疑問ですSOUNDEXFull Text

4

1 に答える 1

0

名前列にフルテキストのインデックスを作成したと仮定します...

declare @search varchar(1000), @searchquery varchar(1000)

select @search = 'george walker bush' -- your search terms here.

select @search = ltrim(rtrim(@search))  
select @searchquery  = 'ISABOUT (' 
    + replace(@search, ' ', ' WEIGHT (0.4), ') 
    + ' WEIGHT (0.4))'

select * from [User]
inner join 
    Containstable(
        [User], 
        Name, 
        @searchquery
        ) as keys
        on keys.[key]    = [user].id
where rank>50
于 2012-07-31T19:49:07.637 に答える