私のシナリオは、FAST Search Server がインストールされた SharePoint 2010 環境です。FQL (Fast Query Language) で SharePoint KeywordQuery クラスを使用して、FAST インデックスに対してクエリを実行しています。
私の問題:どうやら高速検索サーバーは「返されたクエリ結果でデータ型の認識をサポートしていません」(ここで述べたように)。これは、複数のクロールされたプロパティ (「作成者」など) にマップされている管理プロパティの場合、エンジンはすべての値を含む単一の文字列のみを返すことを意味します。(その場合、SharePoint 検索は文字列の配列を返します。)
さまざまな値を区別できるようにする必要があるため、その問題の可能な解決策を見つけようとしました。これが私がこれまでに見つけたものです:
- カスタム プロパティ エクストラクタを実装し、さまざまな値のセパレータを導入します。
- たとえば、FAST 構成ファイル (たとえば、C:\FASTSearch\index-profiles\deployment-ready-index-profile.xml) を変更し、異なる値の区切り記号を導入します。
- KeywordQuery クラス (ResultType.RefinementResults) の絞り込み機能を使用して、絞り込み結果と検索結果の間のマッピングを試みます。
私の意見では、1 と 2 はどちらもお勧めできません。システム全体 (FAST Search Center サイトなど) に影響を与える「標準」管理プロパティの動作を変更するからです。さらに、構成ファイルが FAST 更新によって置き換えられるため、2 は MS によって禁止されているようです。3は非常に高価な操作のようです。
私が見逃した他の解決策はありますか?どんなアドバイスも大歓迎です...