web-dev-qa-db-ja.com

SharePoint検索統計はどのように生成されますか?

XHTMLおよび(AA)アクセス可能性ガイドラインを満たすためにWebパーツを使用しない高度にカスタマイズされたSharePointパブリッシング(WCM)サイトがあります。問題は、検索機能が使用統計を生成していないことです(SSPの検索管理内の使用レポート)。検索統計を生成しているファーム内のOOTBチームサイトがいくつかあるため、これはカスタマイズにかかっていることがわかります。これをどこで/どのように修正する必要があるかわかりません。 search.asmx Webサービスへの呼び出しを接続する必要があるようですが、よくわかりません。検索サービスへの呼び出しの一部として、SharePoint API内から何かを呼び出す必要があるのではないでしょうか?わかりません。

高度にカスタマイズされたSharePointサイト(Webパーツなし)を構築し、検索統計をログに記録している人はいますか?それをどのように行ったかについてコメントできますか?または、統計がどのように生成されるかについて、誰かが洞察を提供できますか?

それが役立つ場合は、2つのWFE、1つのインデックスサーバー、および1つのSQLServerボックスを備えた中規模のファームを実行しています。すべてのWindows2003 R2 SP2、32ビット。 MOSS 2007 SP1(および12月のCU)EnterpriseEdition。

ありがとう、ジェームズ。

P.S.この質問は以前にStackOverflowで尋ねられました( https://stackoverflow.com/questions/1432182/how-do-sharepoint-search-statistics-get-generated )が、一部のコメント提供者は移動することを推奨しましたここに。

2
j.strugnell

これは聞きたい答えではないかもしれませんが、回避策は、検索コントロールWebパーツ(searchboxexが必要だと思います)を非表示のコンテンツプレースホルダーの1つ(この場合はContentPlaceHolderId = PlaceHolderSearchArea)に配置することでした。

1
Mark

これまでに収集したものから、検索WebサービスのRecordClickメソッドを呼び出すことによってクエリがログに記録されます。検索結果のレンダリングに使用されるMicrosoft.Office.Server.Search.WebControls.SearchResultsBaseWebPartWebパーツは、魔法を実現します。

SearchResultsBaseWebPartによってレンダリングされたページが読み込まれると、IDがRegExpフィルターと一致するすべてのHTMLリンク要素のonlickイベントに関数が登録されます。ページのアンロードイベントも登録され、シリアル化されたMicrosoft.Office.Server.Search.Query.QueryInfoオブジェクトを含むSOAPリクエストを検索WebサービスのRecordClickメソッドに送信します。次に、QueryInfoオブジェクトのプロパティは、共有サービスプロバイダーデータベースのMSSQLogUnprocessedテーブルとMSSQLogNonClickedUnprocessedテーブルに格納されます。

これは私がこれまでに見つけた唯一のクエリログ機能です。他のリードを知っているか見つけた場合は、それらを共有してください。

この情報は、Reflectorのさまざまなクラスを調べて収集しました。お役に立てば幸いです。

1