SQL Server 2008 R2データベースで次のエラーが発生しています。
フルテキストインデックスが作成されていないため、テーブルまたはインデックス付きビュー 'tblArmy'で
CONTAINS
またはFREETEXT
述語を使用できません。
全文検索機能がインストールされていることを確認してください。
全文検索カタログを作成します。
use AdventureWorks
create fulltext catalog FullTextCatalog as default
select *
from sys.fulltext_catalogs
全文検索インデックスを作成します。
create fulltext index on Production.ProductDescription(Description)
key index PK_ProductDescription_ProductDescriptionID
インデックスを作成する前に、次を確認してください。
-テーブルにはフルテキスト検索インデックスが1つしか許可されていないため、テーブルにはフルテキスト検索インデックスがまだありません。
-テーブルに一意のインデックスが存在します。インデックスは、NULLを許可しない単一キー列に基づいている必要があります。
-フルテキストカタログが存在します。デフォルトのフルテキストカタログがない場合は、フルテキストカタログ名を明示的に指定する必要があります。
SQL Sever Management Studioで手順2と3を実行できます。オブジェクトエクスプローラーで、テーブルを右クリックし、Full-Text index
メニュー項目を選択してから、Define Full-Text Index...
サブメニュー項目を選択します。フルテキストインデックス作成ウィザードがプロセスをガイドします。また、まだお持ちでない場合は、フルテキスト検索カタログが作成されます。
詳細は MSDN で見つけることができます
CONTAINS
の回避策:列にフルテキストインデックスを作成したくない場合、パフォーマンスが優先順位の1つではない場合は、事前に何も必要としないLIKE
ステートメントを使用できます設定:
例:文字Qを含むすべての製品を検索します。
SELECT ID, ProductName
FROM [ProductsDB].[dbo].[Products]
WHERE [ProductsDB].[dbo].[Products].ProductName LIKE '%Q%'
フルテキストインデックスのテーブルを有効にする が必要になる場合があります。
[フルテキスト]列をtrueに設定するもう1つの解決策があります。
たとえば、これらのソリューションは私にとってはうまくいきませんでした
ALTER TABLE news ADD FULLTEXT(headline, story);
私の解決策。
次のステップ
リフレッシュ
Mssql 2014のバージョン
検索する特定のフィールドにフルテキストインデックスを追加する必要があります。
ALTER TABLE news ADD FULLTEXT(headline, story);
ここで、「ニュース」はテーブルであり、「見出し、ストーリー」フィールドでは全文検索を有効にすることはできません
Select * from table
where CONTAINS([Column], '"A00*"')
と同じ%として機能します
where [Column] Like 'A00%'