SharePoint Server 2010 の検索クエリで LIKE 演算子が評価されない場合がある

現象
Microsoft SharePoint Server 2010 の検索クエリで LIKE 演算子が評価されない場合があります。
原因
この現象は、SharePoint Server 2010 のいくつかの管理プロパティが既定で LIKE 演算子の評価に必要なハッシュを生成しないよう設定されているために発生します。
回避策
SharePoint Server 2010 では、検索クエリの LIKE 演算子に使用する管理プロパティの [比較用のハッシュを使用して、テキスト プロパティに必要な記憶域を削減する] オプションを明示的に有効にする必要があります。

[比較用のハッシュを使用して、テキスト プロパティに必要な記憶域を削減する] オプションを有効にするには、以下の手順を実行してください。
  1. [スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SharePoint 2010 Products]、[SharePoint 2010 サーバーの全体管理] の順にクリックします。
  2. [アプリケーション構成の管理] セクションから [サービス アプリケーションの管理] をクリックします。
  3. [Search Service Application] をクリックします。
  4. [クエリと結果] セクションから [メタデータのプロパティ] をクリックします。
  5. 対象の管理プロパティをクリックします。ここでは例として、[Title] をクリックします。
  6. [比較用のハッシュを使用して、テキスト プロパティに必要な記憶域を削減する] チェック ボックスをオンし、[OK] をクリックします。
  7. 設定内容を反映させるためフル クロールを実行します。
詳細

問題の再現手順

  1. ドキュメント ライブラリを開きます。
  2. [アップロード] の [ドキュメントのアップロード] をクリックします。
  3. [ドキュメントのアップロード] ページで任意のドキュメントをアップロードします。
  4. [プロパティ] ページで [タイトル] セクションに Sample Doc と入力し、[保存] をクリックします。
  5. フル クロールを実行します。
  6. Visual Studio から以下のコードを実行します。

    <WebService_Ref>.QueryService service = new <WebService_Ref>.QueryService();service.Credentials = System.Net.CredentialCache.DefaultCredentials; string queryXml =  "<QueryPacket xmlns=\"urn:Microsoft.Search.Query\">" +  "<Query>" +  "<Context>" +  "<QueryText type=\"MSSQLFT\">" +  "SELECT Title, Path, Description, Write, Rank FROM Scope() WHERE Title LIKE 'Sample%'" +  "</QueryText>" +  "</Context>" +  "</Query>" +  "</QueryPacket>";service.Query(queryXml.ToString());

結果 

戻り値として、ERROR_NO_RESULTS_FOUND が返ります。
プロパティ

文書番号:2389649 - 最終更新日: 10/04/2016 14:34:00 - リビジョン: 4.0

Microsoft SharePoint Server 2010

  • kbharmony kbexpertiseinter kbexpertiseadvanced kbtshoot kbbug KB2389649
フィードバック