sql >> データベース >  >> RDS >> Sqlserver

SQL Server に期待される結果が返されないフル テキスト関数が含まれている

    フルテキストでは、英数字以外のすべての文字がインデックスから削除され、空白に置き換えられます .だから、あなたが持っていたので、あなたの検索では、「。」文字列では、「website」と「net」を検索しています。

    これは 2 つの方法で修正できます。

    元のデータを保持する場合、元のテーブルとは別に、フルテキスト データを含む別のテーブルまたは別のフィールドが必要です。

    フルテキスト テーブルでは、「.」を削除できます。 " およびストア "websitenet ".

    その場合、すべての「.」を削除する必要があります。クエリを実行する前に検索文字列から。 "." でクエリしたい場合は、"." を置き換える必要があります。文字列 - たとえば「ドット」。

    この場合、「websitedotnet」を保存します。 ".

    今回検索するときは、「.」をすべて置き換えます。クエリに「ドット」を使用してください。

    FTS で検索する列を格納する新しいフィールドを使用する場合は、次のようになります。

     ID 説明 DESCFTS ----------------------------------------- ------------ 1 これはウェブサイトです。これはウェブサイトですドット 2 ウェブサイトが存在します。 a website existsdot 3 go to mywebsite.net mywebsitedotnet 4 go to mywebsite.net. mywebsitedotnetdot に移動  

    次に、クエリ:

    declare @search_client nvarchar(100) ='website'set @search_client =replace(@search_client, '.', 'dot')select * from dbo.temp where contains ((DESCFTS), @search_client)   

    1. MySQLサービス、XAMPPを実行できません

    2. PHPでMysqlデータベースの最後のフィールドを取得するにはどうすればよいですか?

    3. 再帰的なPostgreSQLを削除する

    4. mssqlを使用した「LIMIT」付近の構文が正しくありません