變更的內容搜尋網頁組件顯示範本和使用 Windows PowerShell 來啟動 SharePoint Server 中的 [流量分析
**適用版本:**SharePoint Server 2013, SharePoint Server 2013 Enterprise, SharePoint Server 2016
**上次修改主題的時間:**2017-07-14
**摘要:**了解如何變更的內容搜尋網頁組件顯示範本和使用Microsoft PowerShellSharePoint Server 2016和SharePoint Server 2013中啟動流量分析。
這一系列建議與 SharePoint Server 中的熱門項目簡介、 前一篇文章所引進的流量分析功能。本文中您將了解:
變更 UsageAnalyticsID managed 屬性的對應
讓使用方式記錄的事件會正確地變更內容搜尋網頁組件顯示範本
為什麼您應該模擬產生檢視使用事件
執行 Windows PowerShell 指令碼來啟動搜尋分析和流量事件推送至事件存放區
檢視流量事件的事件存放區
準備流量事件檔案之前您使用 Windows PowerShell 啟動流量分析
使用 Windows PowerShell 啟動流量分析工作
注意
此系列中的範例根據內部SharePoint Server部署。
變更 UsageAnalyticsID managed 屬性的對應
在我們 Contoso 的網站,我們要建議每個產品群組項產品,也就是我們想要搜尋時忽略產品色彩的流量分析。這表示我們建議必須要計算群組數目而定。我們可以達成此目的,因為群組編號是一部分的易記 URL (FURL) 在我們的項目詳細資料頁面 (請參閱階段 10: 設定內容搜尋網頁組件的 SharePoint Server 中的目錄項目頁面上的查詢)。
在先前的部落格文章,我們說過 managed 的屬性用來指定計算個別目錄項目之間的建議的方式是UsageAnalyticsID (請參閱關於 UsageAnalyticsID Managed 屬性)。因此的流量分析執行其計算群組數目而定,我們必須變更UsageAnalyticsID屬性的對應。以下是如何這麼做:
重要
您必須變更製作網站上的屬性對應。
在您製作的網站] 前往網站設定--> 搜尋結構描述。
在 [ Managed 屬性] 頁面上的 [ Managed 屬性] 欄位中輸入UsageAnalyticsID、,然後選取 [箭號] 按鈕。
從 [屬性名稱] 欄位中,選取 [編輯/對應屬性]。
在 [編輯 Managed 屬性] 頁面上選取 [新增對應。請注意根據預設,這個屬性會對應至編目的屬性ows_ProductCatalogItemNumber。
在編目屬性選項] 對話方塊中,使用 [搜尋編目的屬性名稱] 欄位來搜尋您想要對應至這個 managed 屬性的編目屬性。
在 Contoso 案例中,我們想要對應網站欄名群組編號。編目的屬性不含空格。因此,排除空間、 輸入GroupNumber並選取 [尋找。
發現這兩個編目的屬性。選取編目的屬性與ows_ 前置字元,然後選取**[確定]**。
如果您混淆因為中找到有關相同看起來的兩個編目的屬性,您不不足。這是有難度。本文從 managed 屬性集的網站欄什麼是使用?說明編目屬性與 managed 屬性的命名的慣例。如果您感興趣的簡短版本,此處即,如下所示: 時將編目的屬性對應至UsageAnalyticsID managed 屬性,您應該先選取以**ows_**前置字元的編目的屬性 !
在 [編輯 Managed 屬性] 頁面上選取 [ ows_ProductCatalogItemNumber編目屬性,然後移除對應。
選取**[確定]**以儲存新的對應。
重要
只有一個編目的屬性對應至UsageAnalyticsID managed 屬性。如果您將多個編目的屬性的對應,流量分析計算將不會正確運作。
您已變更的UsageAnalyticsID managed 屬性對應之後,請不要在目錄的完整編目階段 4: 設定搜尋並啟用在 SharePoint Server 中的目錄內容的編目所述。
讓使用方式記錄的事件會正確地變更內容搜尋網頁組件顯示範本
我們 Contoso 網站上,我們使用內容搜尋網頁組件 (CSWP) 來顯示目錄項目] 頁面上的項目階段 10: 設定內容搜尋網頁組件的 SharePoint Server 中的目錄項目頁面上的查詢所述。根據預設,CSWP 不會記錄使用事件。若要啟用以記錄流量事件我們 CSWP 我們必須變更 CSWP 正在使用的顯示範本。以下是您必須:
在您對應網路磁碟機,開啟已套用至您的 CSWP 的顯示範本。
ManagedPropertyMapping元素中,新增下列兩個屬性:
'Original Path'{Original Path}:'OriginalPath', 'SiteID'{SiteID}:'SiteID',
新增下列 Java-指令碼正上方顯示範本的 HTML 部分:
//Log Views usage event on URL of catalog item window.LogViewsToEventStore = function(url, site) { SP.SOD.executeFunc("sp.js", "SP.ClientContext", function() { var spClientContext = SP.ClientContext.get_current(); if(!$isNull(spClientContext)) { var spWeb = spClientContext.get_web(); var spUser = spWeb.get_currentUser(); var spScope = "{00000000-0000-0000-0000-000000000000}"; SP.Analytics.AnalyticsUsageEntry.logAnalyticsEvent2(spClientContext, 1, url, spScope, site, spUser);spClientContext.executeQueryAsync(null, null); } }); }; var originalPath = $getItemValue(ctx, "Original Path"); var originalSite = $getItemValue(ctx, "SiteID"); LogViewsToEventStore(originalPath.value, originalSite.value);
檢視流量事件定義中我們清楚流量事件的 EventTypeIDs。此指令碼中的值1代表 EventTypeID 的檢視使用事件。若要登不同使用事件,以取代這個值與您想要記錄使用事件的 EventTypeID。
儲存檔案。
為什麼您應該模擬產生檢視使用事件
現在我們 CSWP 可以正確地記錄流量事件下, 一步就是實際產生流量事件。在我們的案例,我們已變更記錄檢視CSWP。如果 Contoso 網站 LIVE,訪客會經過檢視項目在網站上每次建立檢視使用事件。不過,Contoso 網站只示範網站。因此,它不會有任何訪客。
當您設定好您的網站時,您將很有可能想要測試之前放入實際執行環境的使用狀況分析功能。若要能夠測試流量分析功能,您必須產生流量事件。若要產生流量事件,至少要有三個使用者已按一下相同的項目為基礎的建議。
沒有模擬檢視使用事件產生的單一正確方法。若要產生 Contoso 網站檢視流量事件,您可能會想要邀請同事"按一下廠商 」 (收買它們與糖果必要時)。為以確定所產生的建議,授與每個使用者按一下 [項目清單。如此一來,您還可以以確定該至少三個使用者按一下相同項目。
以下是您可以給予您的同事的指示的範例:
SV 鍵盤 E10流量分析執行時,將會產生建議的WWI 桌上型電腦 PC2.30 M2300 (檢視WWI 桌上型電腦 PC2.30 M2300的人員也檢視SV 鍵盤 E10、) 和WWI 桌上型電腦 PC2.30 M2300會產生建議的SV 鍵盤 E10 (檢視SV 鍵盤 E10的人員也檢視WWI 桌上型電腦 PC2.30 M2300)。
執行Microsoft PowerShell指令碼來啟動搜尋分析和流量事件推送至事件存放區
您已經產生檢視流量事件之後,必須如何繼續的兩個選項。流量分析計時器工作執行一次每隔 24 小時。如果您是病患,您現在可以放寬、 移首頁] 並讓流量分析處理其識別常數隔天。
換句話說,如果您現在想結果,您可以使用一些Microsoft PowerShell指令碼以加速此程序。以下是您必須:
確認您符合最低權限需求。
在伺服器上已安裝SharePoint Server ,請以管理員身分開啟SharePoint 2013 管理命令介面。
在Microsoft PowerShell命令提示字元處輸入下列命令來啟動搜尋分析。搜尋分析的輸出流量分析所用以對應流量事件的搜尋索引中的實際項目。
$a = Get-SPTimerJob -Type Microsoft.Office.Server.Search.Analytics.AnalyticsJobDefinition $sa = $a.GetAnalysis("Microsoft.Office.Server.Search.Analytics.SearchAnalyticsJob") $sa.StartAnalysis()
等待搜尋分析工作完成。若要檢查搜尋分析工作的狀態,請輸入下列命令:
$sa.GetAnalysisInfo()
只要執行搜尋分析工作,狀態是執行。
在 [搜尋分析工作完成時狀態已停止且狀態為100。
流量事件已新增至事件儲存在 10 分鐘的時間間隔。若要以事件存放區推送流量事件,輸入下列命令:
$tj = Get-SPTimerJob -Identity ("job-usage-log-file-import") $tj.RunNow()
檢視流量事件的事件存放區
流量事件送入事件存放區之後,您應該確認已正確記錄流量事件。若要這樣做, SharePoint Server安裝所在的電腦上,前往事件存放區。在大多數情況下,您可以找到事件存放區中的下列資料夾:
C:\Program Files\Microsoft Office Servers\15.0\Data\Office Server\Analytics_ < GUID > \EventStore
在事件存放區、 每日流量事件儲存在不同的資料夾。在我們的案例中,我們可以看到已新增一個資料夾。
在此資料夾中,您會看到一些文字檔案。這些檔案包含我們流量事件。請注意所有的檔案名稱開頭 1_。
此數字是 EventTypeID 的記錄檔中的流量事件。請記住, 1是檢視使用事件的 EventTypeID (請參閱檢視流量事件定義)。此時我們所記錄的唯一流量事件是檢視事件。所以這是我們所做事項右良好正負號。
在文字編輯器中,例如 [記事本] + + 中開啟一個檔案。這個檔案包含大量的資訊,但您真正應該只會尋找兩件事:
確認已正確記錄的流量事件。
確認其他使用者已經產生流量事件。
關於流量分析中跨網站發佈的案例中我們清楚的運作的流量分析、 流量事件必須記錄上之項目的 URL。在事件存放區檔案,您會看見多個 Url。尋找以*dispform.aspx?id=*後面接著數字結尾的 Url。在此檔案我們 Contoso 版本,我們看到這類 Url 有許多項目。
這是非常好登,因為它表示的流量事件正確記錄。若要確認 Url 實際隸屬於其中一個我們目錄項目,其中一個 Url 複製這個檔案,並將它貼到您的瀏覽器。
若要確認其他使用者已經產生流量事件,查詢的第三欄的檔案。在我們的案例中,我們可以看到我們已至少三個使用者識別碼。
現在,我們已驗證正確記錄的流量事件,您可能會想要認為我們已準備好執行流量分析工作。但是請記住,若要啟動流量分析、 使用Microsoft PowerShell我們會實際 kick-starting 計時器工作。
流量分析計時器工作開始時,它將會採取昨天的流量事件並處理文件。因為我們想要處理來自今天檔案,我們會使用一個簡單的技巧使正確檔案可由流量分析處理。
準備流量事件檔案之前您使用 Windows PowerShell 啟動流量分析
在 [EventStore 資料夾中建立名為myevents的資料夾。
複製流量事件檔案要到myevents資料夾流量分析處理。在 Contoso 案例中,將所有檔案從20131206資料夾都複製到myevents。
以滑鼠右鍵按一下myevents資料夾並選取 [內容]。
在 [屬性] 區段中選取 [唯讀 (僅適用於資料夾中的檔案),並再按一下 [確定]。
在確認變更屬性] 對話方塊中,選取 [套用變更至這個資料夾、 子資料夾和檔案並再按一下 [確定]。
現在您就可以開始使用狀況分析工作。
開始使用Microsoft PowerShell的使用狀況分析工作
在 Microsoft PowerShell 命令提示字元處,輸入下列命令:
$tj = get-sptimerjob -type microsoft.office.server.search.analytics.usageanalyticsjobdefinition $tj.DisableTimerJobSchedule() $tj.StartAnalysis("\\<hostname>\Analytics_<guid>\EventStore\myevents") $tj.EnableTimerJobSchedule()
一個命令包含兩個版面配置區的通知:主機名稱及guid。主機名稱是SharePoint Server安裝所在之伺服器的名稱。您可以看到您 EventStore 的檔案路徑中的 guid。
輸入下列命令以檢查使用狀況分析工作的狀態:
$tj.GetAnalysisInfo()
使用狀況分析工作完成時狀態已停止且狀態為100。
現在流量分析已處理的流量事件下, 一步是此分析結果顯示在我們的發佈網站。若要這樣做,我們將會新增並設定兩個網頁組件。