2011-01-08 16 views
3

SQL Serverのフルテキストウィザードを使用してフルテキストインデックスを作成しましたが、検索語を渡すとストップワードは無視されません。全文検索 - 停止しないStopWords

SELECT * 
FROM dbo.T_Restaurant AS Restaurant 
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id 
WHERE CONTAINS(SearchView.TotalSearchField, ' indian & bridgwater ') 

しかし、これにはない:

SELECT * 
FROM dbo.T_Restaurant AS Restaurant 
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id 
WHERE CONTAINS(SearchView.TotalSearchField, ' indian & in & bridgwater ') 

私は「には、」英語のストップワードであることを知っていて、まだそれが表示されないこのつまり

は、行を返します無視される。索引は、そのプロパティに従ってSystem stopwordリストを使用しています。ストップワードリストを設定するステップがありませんでしたか?

多くのおかげで、

クリス。

答えて

1

このFTS構文は有効ですか?私はインドの&ブリッジウォーターを、あなたがしようとしていると思っている言葉を探しているのではなく、フレーズであると考えていると思います。

SELECT * 
FROM dbo.T_Restaurant AS Restaurant 
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id 
WHERE CONTAINS(SearchView.TotalSearchField, '"indian" AND "bridgwater"') 

SELECT * 
FROM dbo.T_Restaurant AS Restaurant 
JOIN dbo.SearchView AS SearchView ON SearchView.id = Restaurant.id 
WHERE CONTAINS(SearchView.TotalSearchField, '"indian" AND "IN" AND "bridgwater"') 
+0

:(悲しいことにそのどちらか動作しません、あなたの入力をありがとうしかし、はるかに高く評価 –

+0

私は朝までSQL Serverのに入ることはできません。。。何がこの戻り がsys.dm_fts_parser SELECT * FROMありません1033があなたのコードページであると仮定すると、 で確認することができます。[名前]、エイリアス( "インディアン&イン&ブリッジウォーター"、1033、77,0) 、master.sys.syslanguagesのlcid; – u07ch

+0

あなたの助けを借りてくれてありがとう、私はあなたの時間を本当に感謝しています。私は(あなたのインデックスにリンクされているStopListIDの編集で)私は(いくつかの奇数列を削除)得るものです: 完全に一致する\tインドノイズワード\t で完全に一致\tブリッジウォーター クレイジーは、それは明らかにノイズワードとして認識していたとき、私されています雑音ワードでDBに照会すると、行が戻されません。 Grrr! –